我試圖修改一個字符串,通過替換每個字母表的前面兩個位置的字母表。例如'a'替換爲'c','b'替換爲'd'。唯一的例外是'y'應該被'a'和'z'替換爲'b'(循環返回開始)。字符串操作Python
我已經爲它寫了下面的代碼,它似乎達到了目的,但輸出格式化會損壞它。
string = "g fmnc wms bgblr rpylqjyrc gr zw fylb."
print string
for i in string:
if i.isalpha():
if ord(i)>120:
print chr(ord(i)-24),
else:
print chr(ord(i)+2),
else:
print i
輸出:
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i h o p e y o u d i d n t t r a n s l a t e i t b y h a n d .
預期輸出:
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i hope you didnt translate it by hand.
是否有任何替代,更快捷的方法來解決這個問題?
'從字符串進口translate'並使用它。 – dansalmo
感謝做了以下作爲一種替代方法'intab = 「ABCDEFGHIJKLMNOPQRSTUVWXYZ」 outtab = 「cdefghijklmnopqrstuvwxyzab」 trantab = maketrans(intab,outtab) 打印string.translate(trantab)' – misguided
cs50x?真正好的課程:) –