Похоже, что я не могу передать значение из функции в другую, хотя я поставил оператор return
в 1-й функции.Возвращаемое значение не работает в Python 3
Это мой код:
price=0
TotalPrice=0
def SumPrice(price,TotalPrice):
if cup_cone=="cup":
price=(price+(mass/10)*0.59)*TotalSet
else:
if cone_size=="small":
price=(price+2)*TotalSet
else:
if cone_size=="medium":
price=(price+3)*TotalSet
else:
price=(price+4)*TotalSet
if Member_Ans=="yes":
TotalPrice=TotalPrice+price*0.90
print(price,TotalPrice)
return (price)
return (TotalPrice)
def PrintDetails(price,TotalPrice,Balance):
SumPrice(price,TotalPrice)
if Member_Ans=="yes":
print("Member ID: ", loginID, " (" , Username, ")")
for element in range (len(UserFlavor)):
print (UserFlavor[element], "--- ", UserFlavorPercentage[element], "%")
print ("Total set = ", TotalSet)
print ("Total price = RM %.2f" % (price))
if Member_Ans=="yes":
print ("Price after 10% discount = RM %.2f" % (TotalPrice))
while True:
Payment=int(input("Please enter your payment: "))
if Payment<TotalPrice:
print("Not enough payment.")
if Payment >= TotalPrice:
break
Balance=Balance+(Payment-TotalPrice)
print(Balance)
PrintDetails(price,TotalPrice,Balance)
Когда я пытаюсь напечатать price
и TotalPrice
, он печатает 0
, почему?
Вы не можете вернуться дважды. Ваша функция заканчивается первым возвращаемым утверждением, которое достигнуто. – timgeb
Я изменил, чтобы вернуть «цену», но он все еще печатает «0». Как его решить? – Jess
@ Jess вам нужно точно описать проблему, с которой вы столкнулись, вход и ожидаемый результат для нас, чтобы помочь вам – Idos