此代码向用户请求消息和值,然后使用给定值修改它。问题是我希望ASCII代码不超过126或低于33,我试图在代码的突出显示部分这样做,但是当ASCII代码的值超过126时,代码由于某种原因没有返回任何内容。
loop = True
def start():
final_word = []
word_to_crypt = str(raw_input("Type a word: "))
crypt_value = int(raw_input("Choose a number to cript yout message with: "))
ascii_code = 0
n = 0
m = len(word_to_crypt)
m = int(m - 1)
while n <= m:
ascii_code = ord(word_to_crypt[n])
ascii_code += crypt_value
############# highlight #############
if 33 > ascii_code > 126:
ascii_code = (ascii_code%94)+33
############# highlight #############
final_word.append(chr(ascii_code))
n += 1
print 'Your crypted word is: ' + ''.join(final_word)
while loop:
start()
很抱歉,如果格式不正确或我的解释有任何错误,但我在手机上并且我不是原生
解决了非常感谢这个网站,这个社区对我帮助很大!
答案 0 :(得分:1)
同时没有大于126
且小于33
的数字。它应该是:
if 33 < ascii_code < 126:
修改:
如果您想要反转案例,则必须单独进行:
if ascii_code < 33 or ascii_code > 126:
或者您可以使用in
运算符和列表:
if ascii_code not in [33,126]: