为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError:“ str”和“ int”的实例之间不支持“ <=”

TypeError:“ str”和“ int”的实例之间不支持“ <=”

拉风的咖菲猫 2019-11-03 04:04:53
我正在学习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对象才能进行数字运算。



查看完整回答
反对 回复 2019-11-04
?
慕容708150

TA贡献1831条经验 获得超4个赞

如果您使用的是Python3.x,input则会返回一个字符串,因此您应使用int方法将字符串转换为整数。


Python3输入


如果存在提示参数,则将其写入到标准输出中,而无需尾随换行符。然后,该函数从输入中读取一行, 将其转换为字符串(将尾随换行符分隔),然后将其返回。读取EOF时,将引发EOFError。


顺便说一句,try catch如果要将字符串转换为int ,这是一种好方法:


try:

  i = int(s)

except ValueError as err:

  pass 

希望这可以帮助。



查看完整回答
反对 回复 2019-11-04
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

默认情况下,input()采用字符串形式的输入。


if (0<= vote <=24):

投票需要输入字符串(假设为“ 4”,“ 5”等),因此无法比拟。


正确的方法是:vote = int(input("Enter your message")将输入转换为整数(根据输入将“ 4”转换为4或将“ 5”转换为5)



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 743 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信