Професионална програма
Loading...
+ Нов въпрос
Julianh12 avatar Julianh12 1 Точки

06. Easter Decoration изпитна задача обаче за Python

06. Easter Decoration

Изпит по "Основи на програмирането" -20и 21Април2019Задача 6. Великденска украсаЗа великденските празници, магазин започва да продаватри вида великденска украса –кошнички за яйца (basket), великденски венци (wreath) и шоколадови зайци (chocolate bunny). Вашата задача е да напишете програма, която да изчислява каква сметка трябва да плати всеки един клиент на магазина, като се има в предвид, че всекиклиент закупил четен брой продукти, ще получи 20% отстъпка от крайната цена. След като всички клиенти приключат с покупките, трябва да се отпечата средно по колко пари е похарчил всеки човек.Цените на продуктите са:•кошничка за яйца (basket)–1.50лв.•великденски венец (wreath) –3.80 лв.•шоколадов заек (chocolate bunny)–7 лв.ВходОт конзолата първоначално се чете един ред:•Броина клиентите в магазина –цяло число [1... 100]•След това за всеки един клиент на нов ред до получаване на командата "Finish" се чете:oПокупката която клиента е избрал –текст ("basket", "wreath" или "chocolatebunny")Изход•При получаване на командата "Finish" да се отпечата един ред:o"You purchased {броя на покупките}items for {крайната цена}leva."•Накрая, след като всички клиенти приключат с покупките, да се отпечата на един редo"Average bill per client is: {средно аритметично на парите които е похарчил всеки един клиент} leva."Всички пари трябва да бъдат форматирани до втората цифра след десетичния знаk

 

Задачата ми е почи решена,искам да попитам как да изтрия променливите пробвах по всякакъв начин и в while и във for цикъла

 

customers = int(input())
basket = 1.50
wreath = 3.80
chocolate_bunny = 7
total = 0
average_money = 0
count=0

for i in range(customers):

    command = input()

    while command != "Finish":

        if command == "basket":
            count+=1
            total+=basket

        elif command == "wreath":
            count+=1
            total+=wreath

        elif command == "chocolate_bunny":
            count+=1
            total+=chocolate_bunny
    command=input()
if total // 2 == 0:
    total=total * 0.80
print(f"You purchased {count} items for {total:.2f} leva.")
total=0
count-0

average_money = total/customers
print(f"Average bill per client is: {average_money:.2f} leva.")
0
Programming Basics
svephoto avatar svephoto 689 Точки

Здравей, Julianh12,

 

Съвсем близо си до вярното решение. При проверката за "chocolate bunny" в самия стринг не трябва да има долно тире, а интервал - сега програмата никога не влиза в тази проверка. Нужна ти е и една променлива, в която да си пазиш временно сумата за всеки един клиент, която се нулира след като той приключи с покупките и се изпише съответното съобщение, като това става след проверка дали настоящата команда от конзолата е Finish. Делението за четен брой продукти трябва да бъде модулно - с %, а не с //. Ето един вариант на работещо решение на базата на твоя код и според това, което написах по-горе: https://pastebin.com/Z6B6NyiP.

0
14/05/2021 11:04:45