Hi all :)我正在构建一个使用简单的文本旋转(ROT)对文本进行编码的脚本。该脚本运行良好,但我有一个问题,它也旋转所有的符号,如空格,!,?,。我正在使用ascii表来做这件事,我可以做些什么来避免旋转那种类型的字符?
def rot13(input,key): #Function to code a text with caeser chyper.
if key > 25:
key = 25
elif key < 2:
key = 2
finaltext = ''
for letter in input:
num = ord(letter)
if (num + key) > 122: #If the final number is greater than 122..
x = (num + key) - 122
finaltext += chr(x + ord('a') - 1)
elif((num + key <= 122)):
finaltext += chr(num + key)
print(finaltext)发布于 2017-03-01 02:21:48
在“旋转”你的字符之前,添加一个检查,看看它是否是字母数字:
if letter.isalpha():
# Do your thing
else:
finaltext += letter发布于 2017-03-01 02:21:02
试试这个:
>>> import string
>>> letter = 'a'
>>> letter in string.letters
True
>>> letter = '.'
>>> letter in string.letters
Falsehttps://stackoverflow.com/questions/42516028
复制相似问题