数字内的变量

时间:2015-01-07 20:45:02

标签: python-2.7

此代码向用户请求消息和值,然后使用给定值修改它。问题是我希望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()

很抱歉,如果格式不正确或我的解释有任何错误,但我在手机上并且我不是原生

解决了非常感谢这个网站,这个社区对我帮助很大!

1 个答案:

答案 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]: