bertrand bertrand - 7 months ago 30
Python Question

Confusing name error

I have a question. I ran this program below and I got this unusual error that said that the name 'mean' is not defined. Here is the error:

Traceback (most recent call last):
File "C:/Python32/Computer science stuff/PracticeTest 175-183.py", line 45, in <module>
main()
File "C:/Python32/Computer science stuff/PracticeTest 175-183.py", line 44, in main
displaySummary()
File "C:/Python32/Computer science stuff/PracticeTest 175-183.py", line 23, in displaySummary
print("List's mean: " + str(mean))
NameError: global name 'mean' is not defined


Here is the code. What is my mistake?

"""
Programmer: Bertrand Zhu
"""

#Defining needed functions
def askName(myName):
myName = myName.upper()
return myName

def calculateMean(a, b, c, d, e):
sumNum = a + b + c + d + e
mean = round(sumNum, 2)
return mean

def displaySummary():
a = int(input("Input your first number please: "))
b = int(input("Input your second number please: "))
c = int(input("Input your third number please: "))
d = int(input("Input your fourth number please: "))
e = int(input("Input your fifth number please: "))
calculateMean(a, b, c, d, e)
print("The values used: " + str(a) + " " + str(b) + " " + str(c) + " " + str(d) + " " + str(e))
print("List's mean: " + str(mean))
print()
print()

def programmerID():
print()
print()
print("Programmer: THIS INFORMATION IS CLASSIFIED")
print("Roster #: 20")
print("Period: 7")
print()
print()

def main():
while True:
programmerID()
georgiePorgie = input("Enter your name: ")
if georgiePorgie.upper() == "QUIT":
break
else:
askName(georgiePorgie)
displaySummary()
main()
print("Goodbye, " + myName)

Answer

Assign the result of the calculateMean() function to the mean "local" variable:

mean = calculateMean(a, b, c, d, e)
print("The values used: " + str(a) + " " + str(b) + " " + str(c) + " " +     str(d) + " " + str(e))
print("List's mean: " + str(mean))