想不通 Python 3.7 NameError
Can't figure out 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
error screenshoot
第 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: "))
大家好! 因此,我尝试编写一个简单的猜谜游戏,但我不断收到相同的错误“名称 '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
error screenshoot
第 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: "))