Мне нужно отображать сумму всей комиссии, а не выводить комиссию за последние введенные продажи. Как я могу отобразить сумму всех комиссий с продаж пользователя. Где я могу это исправить? Любая обратная связь приветствуется!
def main():
sales_amount = 0.0
total_sales_amount = 0.0
commission = 0.0
more_sales = 'Y'
while more_sales == 'Y':
sales_amount = get_sales_amount()
total_sales_amount = total_sales_amount + (sales_amount + sales_amount)
more_sales = more_sales_input()
commission = get_commission_calc(sales_amount)
print_totals(commission)
def more_sales_input():
more = ""
more = input("Do you have more sales to add? (y/n): ")
more = more.upper()
while more != "Y" and more!= "N":
print("Invalid entry.")
more = input("Do you want to add more items: ")
more = more.upper()
return more
def get_sales_amount():
sales = 0.0
sales = float(input("\nPlease enter sales $ "))
return sales
def get_commission_calc(sales):
commission = 0.0
if sales >= 20000:
commission = sales * .10
elif sales >= 10000:
commission = sales * .07
else:
commission = sales * .05
return commission
def print_totals(total_commission):
print("\nYour commission is", '${:,.2f}'.format(total_commission))
main()
ваша комиссионная переменная находится за пределами цикла while, имеет смысл печатать только последнюю, потому что вы устанавливаете переменную после завершения цикла, и значение, которое вы устанавливаете, всегда будет последним значением sales_amount, поскольку вы меняете его на каждой итерации .
чтобы решить, сохраните сумму всех продаж в переменной комиссии:
commission += get_commission_calc(sales_amount)
это должно быть внутри цикла while и удалить другие вычисления. ваша основная функция будет выглядеть так:
def main():
sales_amount = 0.0
total_sales_amount = 0.0
commission = 0.0
more_sales = 'Y'
while more_sales == 'Y':
sales_amount = get_sales_amount()
total_sales_amount = total_sales_amount + (sales_amount + sales_amount)
more_sales = more_sales_input()
commission += get_commission_calc(sales_amount)
print_totals(commission)
х += у равно х = х+у