主名称错误:未定义名称“”

2024-09-30 02:14:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在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

Tags: inputreturnvaluemaindeforderelsemenu

热门问题