我正在学习python并从事练习。其中之一是对投票系统进行编码,以便使用列表在比赛的23名球员中选择最佳球员。我正在使用Python3。我的代码:players= [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]vote = 0cont = 0while(vote >= 0 and vote <23): vote = input('Enter the name of the player you wish to vote for') if (0 < vote <=24): players[vote +1] += 1;cont +=1 else: print('Invalid vote, try again')我懂了TypeError:“ str”和“ int”的实例之间不支持“ <=”但是我这里没有任何字符串,所有变量都是整数。
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
更改
vote = input('Enter the name of the player you wish to vote for')
至
vote = int(input('Enter the name of the player you wish to vote for'))
您将从控制台获取输入作为字符串,因此必须将输入字符串转换为int对象才能进行数字运算。
慕容708150
TA贡献1831条经验 获得超4个赞
如果您使用的是Python3.x,input则会返回一个字符串,因此您应使用int方法将字符串转换为整数。
Python3输入
如果存在提示参数,则将其写入到标准输出中,而无需尾随换行符。然后,该函数从输入中读取一行, 将其转换为字符串(将尾随换行符分隔),然后将其返回。读取EOF时,将引发EOFError。
顺便说一句,try catch如果要将字符串转换为int ,这是一种好方法:
try:
i = int(s)
except ValueError as err:
pass
希望这可以帮助。
哈士奇WWW
TA贡献1799条经验 获得超6个赞
默认情况下,input()采用字符串形式的输入。
if (0<= vote <=24):
投票需要输入字符串(假设为“ 4”,“ 5”等),因此无法比拟。
正确的方法是:vote = int(input("Enter your message")将输入转换为整数(根据输入将“ 4”转换为4或将“ 5”转换为5)
添加回答
举报
0/150
提交
取消