这是我第一次用Python编写代码,可以使用一些帮助。我使用的是Python 34,根本无法理解发生了什么。
def roll(v):
x = input()
return (x + v)
def startGame():
v = 0
while 0 <= v: # error points to this line
v = roll(v)
print("Thanks for playing")
我声明v是一个值为0的整数。但是当我尝试将它与另一个整数进行比较时,它会给出错误消息unorderable types: int() <= NoneType()
我可以用一些指导..
感谢
答案 0 :(得分:2)
我将您发布的代码放入python 3 shell中,但它在其他地方失败了。你的x = input()产生一个字符串,而python不知道如何将字符串转换为数字,除非你明确告诉它如何。
这样:
def roll(v)
# Lets try to parse userinput
try:
x = int(input())
# sometimes users don't get it that "a" is no int
except ValueError:
x = 0
return (x+v)
或
def roll(v)
hasProducedNumber = False
x = 0
# we keep nagging for a number till no valueerror arises
while not hasProducedNumber:
try:
x = int(input())
hasProducedNumber = True
except ValueError:
print("Please provide a number")
return (x + v)
如果这不是您问题的解决方案,我需要实际产生错误的相关代码:)
答案 1 :(得分:0)
尝试:
def roll(v):
x = int(input('Please insert value of x: '))
return (x + v)