Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

krascho avatar krascho 14 Точки

While - Loop - More Exercisers - 2. Report System

Здравейте, на 2ра (Report System) задача от More exercises ми дава 50/100 в judge. Знам какво е сбъркано, но не мога да се сетя как да го поправя. Проблемът е, че принтира след всеки две въведени стойности. Ако някой може да ми каже как да си поправя моя код, ще съм много благодарен. Ето го и него: https://pastebin.com/fhJK25dh

Благодаря предварително!

Тагове:
1
Programming Basics
MartinBG avatar MartinBG 4803 Точки
Best Answer

Четенето на две входни стойности на всяка итерация на while цикъла е рисково, тъй като втората стойност мое да е "End".

Трябва Ви брояч за продуктите за продан, чрез който да се определи дали плащането трябва да в брой или с карта.

Дефинирайте и инициализирайте променливите си там, където е необходимо и по възможност само на едно място в кода (имате command = input() на 2-ри и 32 ред)

 

Ето примерно решение на задачата:

expected_sum = int(input())

sold_cash = 0
sold_card = 0
total_cash = 0
total_card = 0
product_count = 0

while True:
    if total_cash + total_card >= expected_sum:
        print(f'Average CS: {total_cash / sold_cash:.2f}')
        print(f'Average CC: {total_card / sold_card:.2f}')
        break

    command = input()
    if command == 'End':
        print('Failed to collect required money for charity.')
        break

    price = int(command)

    product_count += 1
    is_cash_payment = product_count % 2 == 1

    if price <= 100 and is_cash_payment:
        total_cash += price
        sold_cash += 1
    elif price >= 10 and not is_cash_payment:
        total_card += price
        sold_card += 1
    else:
        print('Error in transaction!')
        continue

    print('Product sold!')

 

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