类型错误(不可比较的类型:int() <= NoneType())
这是我第一次用Python写代码,需要一些帮助。我正在使用Python 3.4,但我实在搞不懂发生了什么。
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()
。我希望能得到一些指导……谢谢。
2 个回答
0
尝试一下:
def roll(v):
x = int(input('Please insert value of x: '))
return (x + v)
2
我把你发的代码放进了Python 3的环境里,但它在别的地方出错了。你的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)
如果这不是解决你问题的方法,我需要你提供相关的代码,这样我才能看到你遇到的错误 :)