如何解决无法弄清楚Python 3.7 NameError
大家! 因此,我尝试编写一个简单的猜谜游戏,但是我一直遇到相同的错误“未定义名称'upperBound'”,并且不知道如何解决它。我还将附上错误的屏幕截图。
import math
lowerNum = int(input("Enter lower point: "))
upperNum = int(input("Enter upper point: "))
guesses = round(math.log(upperBound))
print("Number of guesses: ",guesses)
response = ""
count = 0
while response != "y" and count < guesses:
compGuess = round((lowerBound + upperBound)/2)
print ("Is your number: ",compGuess)
count += 1
response = input("either h if too high,l if too low,y if it's correct: ")
if response == 'h':
upperBound = compGuess
elif response == 'l':
lowerBound = compGuess
elif response == 'y':
print ("The computer guessed your answer in",count,"guesses.")
else:
print ("Invalid input",end= '--')
count -= 1
compGuess = round((lowerBound + upperBound) /2)
if guesses <= 0:
print("Computer has used up all the guesses : (")
else:
pass
解决方法
第3行定义:
upperNum = int(input("Enter upper point: "))
第6行使用upperBound
:
guesses = round(math.log(upperBound))
,
如果您定义upperBound
,您的代码将可以正常工作,就像错误消息经过分析得出的结论一样,例如:
upperBound = 100
使用前必须先定义它。
对其他未定义的变量(例如lowerBound
)执行相同的操作。
是否可以在此处定义它们?
lowerNum = int(input("Enter lower point: "))
upperNum = int(input("Enter upper point: "))
,您错过了变量名称吗?我想你打算写:
lowerBound = int(input("Enter lower point: "))
upperBound = int(input("Enter upper point: "))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。