英文
判斷大小寫時用ansi_raw, 字符下標遞增,改成:
import?sysimport?math
yuanshi=raw_input("please?input")
liebiao=list(yuanshi)
changdu=len(yuanshi)
value=0
while?value<26:
value=value+1
i=0
while?i<changdu:
ansi_raw=ord(liebiao[i])
ansi=ansi_raw+int(value)
if?ansi_raw>=65?and?ansi_raw<=90:
ansi=ansi_raw+value
if?ansi>90:
ansi=ansi-26
elif?ansi_raw>=97?and?ansi_raw<=122:
ansi=ansi_raw+value
if?ansi>122:
ansi=ansi-26
else:
ansi=ansi
print?chr(ansi),
i?+=?1
print?"?"
也可以這樣寫(不輸出原始字符串):
yuanshi=raw_input("please?input:?")la?=?ord('a')
ua?=?ord('A')
for?offset?in?xrange(1,?26):
for?c?in?yuanshi:
o?=?ord(c)
if?c.islower():
print?chr(la?+?(o?-?la?+?offset)%26),
elif?c.isupper():
print?chr(ua?+?(o?-?ua?+?offset)%26),
else:
print?c,