我正在创建一个猜谜游戏,我已经创建了两个函数。一个用于获取用户输入,另一个用于检查用户输入是否正确。你知道吗
def getGuess(maxNum):
if maxNum == "10":
count=0
guess = -1
guessnum = [ ]
while guess >10 or guess<0:
try:
guess=int(input("Guess?"))
except:
print("Please enter valid input")
guesses.append(guess)
return guesses
return guess
def checkGuess(maxNum):
if maxNum == "10":
if guess>num1:
print("Too High")
elif guess<num1:
print ("Too Low")
else:
print("Correct")
print (guesses)
主代码是
if choice == "1":
count = 0
print("You have selected Easy as the level of difficulty")
maxNum= 10
num1=random.randint(0,10)
print (num1)
guess = 11
while guess != num1:
getGuess("10")
checkGuess("10")
count = count+1
print (guess)
尽管函数返回用户猜测,但代码总是将猜测值设为11。如果我不给猜测下定义,它也不起作用。请帮忙。你知道吗
你有一种编程风格,我称之为“类型和希望”。
maxNum
似乎在一个数字和一个字符串之间跳来跳去,表明您还没有考虑到您的方法。下面是一个重做,每个例程都尝试在没有额外变量的情况下做一些明显和有用的事情。(我省略了最初的choice
逻辑,因为它对这个示例没有帮助,这个示例可以放入您的choice框架中。)需要考虑的几个具体问题:避免使用
except
而不知道您期望的异常是什么;避免在字符串中传递数字在输入时将数字字符串转换为数字,在输出时将数字转换为数字字符串,但在两者之间使用实际数字。你知道吗首先,返回两个值。
return
语句也充当break
,因此不会调用第二个return
。而且,您没有将返回值存储在任何地方,因此它只是消失了。你知道吗这是您编辑的代码:
相关问题 更多 >
编程相关推荐