我想在main中调用一个函数。但它一直说,其中一个论点未在main中定义。该参数来自另一个函数。剂量主要获得访问?
def main():
getMenuInput()
getQuantityInput(maxQuantity)
def getMenuInput():
while True:
try:
order = input('Select a letter from the menu: ')
except ValueError:
print ('Sorry, please try again')
continue
else:
break
if order == 'a':
itemName = 'Grilled salmon'
itemPrice = 26.99
maxQuantity = 50
return itemName, itemPrice, maxQuantity
elif order == 'b':
itemName = 'New York Steak'
itemPrice = 18.99
maxQuantity = 50
return itemName, itemPrice, maxQuantity
elif order == 'c':
itemName = 'Roast Chicken'
itemPrice = 12.99
maxQuantity = 50
return itemName, itemPrice, maxQuantity
elif order == 'd':
itemName = 'Salad'
itemPrice = 5.99
maxQuantity = 200
return itemName, itemPrice, maxQuantity
elif order == 'e':
itemName = 'Soup'
itemPrice = 7.99
maxQuantity = 200
return itemName, itemPrice, maxQuantity
elif order == 'f':
itemName = 'Hamburger'
itemPrice = 4.99
maxQuantity = 200
return itemName, itemPrice, maxQuantity
elif order == 'g':
itemName = 'Soft drink'
itemPrice = 1.29
maxQuantity = 200
return itemName, itemPrice, maxQuantity
elif order == 'h':
itemName = 'Tea'
itemPrice = 1.5
maxQuantity = 200
return itemName, itemPrice, maxQuantity
elif order == 'i':
itemName = 'Orange juice'
itemPrice = 2.5
maxQuantity = 200
return itemName, itemPrice, maxQuantity
else:
order = input('Invalid menu item. Enter another menu item: ')
def getQuantityInput(maxQuantity):
while True:
try:
value = int(input('Enter the Quantity: '))
except ValueError:
print("Sorry, your response must not be negative.")
continue
if value < 0 and value > maxQuantity:
value = int(input('Quantity cannot be negative. Enter another quantity: '))
continue
else:
break
return value
错误消息如下所示:
Traceback (most recent call last):
File "C:/Users/Desktop/python/test1.py", line 114, in <module>
main()
File "C:/Users/Desktop/python/test1.py", line 3, in main
getQuantityInput(maxQuantity)
NameError: name 'maxQuantity' is not defined
答案 0 :(得分:0)
width
您将必须将返回值存储在变量中,然后在调用下一个函数def main():
itemName, itemPrice, maxQuantity = getMenuInput()
getQuantityInput(maxQuantity)