python错误类型异常,python错误和异常处理
我在您的代码中看到的一个错误是在回答len(选择)时:
您无法判断answer是否大于选择的长度,因为answer是一个字符串,len(choices)是一个整数。您尚未在答案中填入任何值。为了在python中获得用户的输入,我们可以使用一个名为input()的函数。您可以替换以下行:
^{pr2}$
使用这一行:answer=input(Do you want to:)
这一行将用户的输入作为字符串,然后存储在变量answer中。我们在使用变量answer的时候一定要记得使用int()函数。我过会儿会看这个。在
另一个是while循环。如果要在while循环中组合条件,就不能把它们当作单独的循环,因为这样只会让一个循环在另一个循环中。您可以用and或or组合条件。所以现在循环应该是这样的:while answer len (choices)或者type (answer)!=int:
answer=input(f 输入1 - {len(choices)}:)之间的数字
尝试:
answer=int(答案)
除了:
及格
但这还不完整。这里的问题是,它现在正在测试答案是否大于{ 0 }的长度,我们甚至还不知道它是否是整数。那么我们就要改变这两个条件。In while type(回答)!=int或answer len(选择):
answer=input(f 输入1 - {len(choices)}:)之间的数字
尝试:
answer=int(答案)
除了:
及格
现在try没有必要了,我们可以删除它。answer=int(答案)没有意义,我们也删除。我们也不需要数字测试条件。我们将以下面的循环结束:while answer len(choices):
answer=input(f 输入一个介于0 - {len(choices) - 1}之间的数字: )
整个代码应该是这样的:def choice(choices,message):
打印(消息)
对于I,x在列举(选择):
print(f“{ I }:{ x }”)
回答=输入(你想做什么: )
while int(答案)len(选择):
answer=input(f 输入一个介于0 - {len(choices) - 1}之间的数字: )
选择([跑,或隐藏],你被追捕)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。