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

我正在学习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 = 0

cont = 0


while(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”的实例之间不支持“ <=”


但是我这里没有任何字符串,所有变量都是整数。


拉风的咖菲猫
浏览 744回答 3
3回答

三国纷争

更改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

如果您使用的是Python3.x,input则会返回一个字符串,因此您应使用int方法将字符串转换为整数。Python3输入如果存在提示参数,则将其写入到标准输出中,而无需尾随换行符。然后,该函数从输入中读取一行, 将其转换为字符串(将尾随换行符分隔),然后将其返回。读取EOF时,将引发EOFError。顺便说一句,try catch如果要将字符串转换为int ,这是一种好方法:try:&nbsp; i = int(s)except ValueError as err:&nbsp; pass&nbsp;希望这可以帮助。

哈士奇WWW

默认情况下,input()采用字符串形式的输入。if (0<= vote <=24):投票需要输入字符串(假设为“ 4”,“ 5”等),因此无法比拟。正确的方法是:vote = int(input("Enter your message")将输入转换为整数(根据输入将“ 4”转换为4或将“ 5”转换为5)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python