在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