Loading...
Julianh12 avatar Julianh12 3 Точки

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 1191 Точки

Здравей, Julianh12,

 

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

0
14/05/2021 11:04:45
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.