编程语言
首页 > 编程语言> > 在Python 3.4.3中使用001时无效的令牌

在Python 3.4.3中使用001时无效的令牌

作者:互联网

我已经在网上寻找解决方案,但没有找到任何相关的方法.我的课程分配要求我编写一个程序,计算机将在该程序中尝试猜测用户输入的数字.该数字必须介于001和100之间,因此我首先尝试确保用户只能输入该范围内的数字.

我到目前为止的代码:

import random
code=(int(input("Input a three digit code. Must be more than 001 and less than 100.")))
print(code)
if (code < 001) or (code > 100): 
    print ("Invalid code")
elif (code > 001) or (code < 100):
    print ("Valid code") 

将001更改为1可以正常工作,但是如果我用001运行它,则会收到无效令牌错误.
这需要在Python 3.4.3中完成.
任何帮助将不胜感激.

解决方法:

在Python中,整数不能有前导零.前导零(Python 2)以前用于表示八进制数字.由于许多人不知道,并且感到困惑,为什么070 == 56,Python 3将前导零定为非法.

您不应该将代码转换为整数-只能将实际数字(打算用来进行计算)存储在数字变量中.保留字符串:

while True:
    code = input("Input a three digit code. Must be more than 001 and less than 100.")
    try:
        value = int(code)
    except ValueError:
        print("Invalid code")
        continue
    if 1 <= value <= 100: 
        print ("Valid code")
        break
    else:
        print ("Invalid code") 

标签:python-3-4,python
来源: https://codeday.me/bug/20191119/2034899.html