I'm making a Caesar cipher program for class, I know this isn't the neatest way of doing it but it does work, my question is, for the if/else bit in the middle, is there a better way than having newcode=newcode in the else sections? Seems v clunky but im a complete newb and its the first way i thought of
plaintext = input("Input your message here: ")
shift = input("Input cyclic shift here: ")
message = ""
try:
shiftn = int(shift)
except ValueError:
print("Cyclic shift must be a number")
else:
for i in plaintext:
code = ord(i)
if (32<=code<=47) or (58<=code<=64):
newl = chr(code)
message = message + newl
elif (65<=code<=90):
newcode = code + shiftn
if newcode > 90:
newcode = 64 + (newcode - 90)
else:
newcode=newcode
newl = chr(newcode)
message = message + newl
elif (97<=code<=122):
newcode = code + shiftn
if newcode > 122:
newcode = 96 + (newcode - 122)
else:
newcode = newcode
newl = chr(newcode)
message = message + newl
elif (48<=code<=57):
newcode = code + shiftn
if newcode > 57:
newcode = 47 + (newcode - 57)
else:
newcode = newcode
newl = chr(newcode)
message = message + newl
print("your encrypted message is: ", message)