シーザー暗号では、大文字は大文字のままで、非文字は非文字/同じままである必要があります。私は小文字で作業できることを持っています。
ただし、大文字は小文字に変換され、別の文字になります。文字以外の文字も小文字に変換されます。大文字はシフトする必要がありますが、大文字のままです。非文字は非文字のままにしておく必要があります。
p = raw_input(("enter a word"))
n = input(("how many must it shift"))
a = 0
b = 0
c = 0
d = 0
for i in p:
if i.isupper():
a += 1
elif i.islower():
b += 1
elif i.isdigit():
c += 1
else:
d += 1
e = ""
for i in p:
if i == "":
e += i
else:
integerValue = ord(i)
integerValue-= 97
integerValue += n
integerValue %= 26
integerValue += 97
e += chr(integerValue)
print e