“order_total”在它在 (take_customer_order) 中創建的函式中作業正常,但由于某種原因,我無法在我創建的新函式中呼叫它。
def take_customer_order():
new_pizza = input("Order a pizza? (Y/N) ")
if new_pizza.upper() == "N":
return print("Have a nice day.")
if new_pizza.upper() != "Y" and new_pizza.upper() != "N":
return print("I'll take that as a no. Have a nice day.")
size, meats, veg, quantity = get_pizza_info(size=0, meats=0, veg=0, quantity=0)
if size == 1:
size_cost = 6.50
if size == 2:
size_cost = 9.50
if size == 3:
size_cost = 11.50
meats_cost = (meats - 1) * 3.50
veg_cost = (veg - 1) * 1.50
order_total = 0
pizza_total = (size_cost meats_cost veg_cost * quantity)
print("Pizza total: $", "{:,.2f}".format(pizza_total))
order_total = pizza_total
while new_pizza != "N":
new_pizza = input("Order a pizza? (Y/N) ")
if new_pizza.upper() == "N":
break
get_pizza_info(size, meats, veg, quantity)
print("Pizza total: $", "{:,.2f}".format(pizza_total))
order_total = pizza_total
print("Your total is $", "{:,.2f}".format(order_total))
return order_total, pizza_total
這是我添加一個新函式的地方,希望使 order_total 成為全域的:
def make_order_total_global():
take_customer_order.order_total()
return take_customer_order.order_total()
這是我提交的原始代碼,那個在呼叫 order_total 時遇到問題。
def run_roccos_pizza_shop():
revenue = 0
patron_num = 0
while True:
partynum = input("Enter number in party or 'Close' to quit. ")
if partynum.upper() == "CLOSE":
print("Have a nice day!")
break
else:
patron_num = int(partynum)
revenue = take_customer_order.order_total()
print("Customers served: ", patron_num)
print("Total revenue $", "{:,.2f}".format(revenue))
return patron_num, revenue
就是這樣。顯然,因為我的編輯主要是代碼,所以我現在需要更多細節。Deets deeeties deeetily doooooo
uj5u.com熱心網友回復:
您不能呼叫“take_customer_order.order_total ()”函式,因為它在“take_customer_order ()”函式中具有區域可見性,并且應該具有全域可見性才能被呼叫。我建議將其解包為兩個不同的函式,以便為“take_customer_order.order_total ()”函式提供全域可見性。
前任。從:
def hi ():
def hello ():
print ("hello")
hello ()
to:
def hello ():
print ("hello")
def hi ():
hello ()
更新:
嘗試這個:
def make_order_total_global():
return take_customer_order()[0]
uj5u.com熱心網友回復:
看起來take_customer_order需要回傳一些東西......函式沒有可以在其范圍之外訪問的屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335667.html
