【发布时间】:2013-09-18 07:21:02
【问题描述】:
我有一个简单的程序,提示用户输入 1-9 之间的数字,如果之前输入过该数字,它会要求用户输入另一个数字。用户有 10 次尝试或尝试。
这只是我想做的一部分,但我在将参数从 getNum 方法传递到调用它的方法时遇到问题。如果我输入 1-9 之间的数字,它没有问题。当我输入之前输入的号码并且提示要求输入另一个号码时,问题就开始了。
def getNum(numList):
num = input("Pick your number: ")
if num <= 0 or num >9:
print 'Invalid number. Please try again.'
getNum()
if num in numList:
print 'Number taken. Please try again.'
getNum()
else:
return num
inputList = []
endGame = True
choice = 0
attempts = 0
while endGame == False or attempts < 10:
userNum = getNum(inputList)
print 'Number entered:', userNum
inputList.append(userNum)
print inputList
attempts += 1
谁能告诉我我在这里做错了什么?
【问题讨论】:
-
对输入使用递归不是这样做的方法。使用
input是另一个缺陷。
标签: python user-input