Loading...
svephoto avatar svephoto 1191 Точки

Здравей, elly22chan,

 

Предлагам ти да опиташ следните неща:

- изнеси прочитането на продукта преди да влезеш в цикъла;

- while product != "Stop":

- махаш от цикъла проверката if product == "Stop" и принтирането в нея, и я изнасяш най-отдолу след излизането от цикъла;

- брояча го инкрементираш преди проверката за това дали си на третия продукт, като самата нея я променяш така

if product_counter % 3 == 0:

и я слагаш веднага след него, и чак след това слагаш проверката дали цената е по-голяма от остатъка от парите;

- слагаш ново прочитане на продукт;

Това са стъпките. Ако имаш още затруднения, пиши пак и ще помагаме отново.

 

Успех!

1
21/07/2021 18:08:14
elly22chan avatar elly22chan 12 Точки

Пробвах и така -> https://pastebin.com/PQEvH7MQ.

 

Всички решения, които пробвам, гърмят в Judge на втория zero test с тази грешка:

Traceback (most recent call last):
  File "C:\Windows\TEMP\ExecutionStrategies\qfok4sqq.xth\tmp1468.tmp", line 17, in <module>
    command = input()
EOFError: EOF when reading a line

В pycharm всичко работи, но в Judge, ако в продукта има шпация, гърми. В случая на грешката е "Thermal Underwear"...

Пробвах всякакви вариации на решение.

0
svephoto avatar svephoto 1191 Точки

Ето моя вариант за решение, по него ти бях описал насоките в предния пост: 
https://pastebin.com/evXb8MZS.

0
22/07/2021 13:15:36
rbekyarov avatar rbekyarov 3 Точки

ако решение на Java ти върши работа, заповядай 

import java.util.Scanner;

public class p04{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);


        double budget = Double.parseDouble(scanner.nextLine());
        int itemCount = 0;
        double itemTotalPrice = 0;

        String command = scanner.nextLine();
        while (!command.equals("Stop")) {
            double itemPrice = Double.parseDouble(scanner.nextLine());
            itemCount = itemCount + 1;
            if (itemCount % 3 == 0) {
                itemTotalPrice = itemTotalPrice + itemPrice / 2;
            } else {
                itemTotalPrice = itemTotalPrice + itemPrice;
            }

            if (itemTotalPrice > budget) {
                break;
            }command = scanner.nextLine();
        }


        if (itemTotalPrice > budget) {
            System.out.println("You don't have enough money!");
            System.out.printf("You need %.2f leva!", itemTotalPrice - budget);
        } else {
            System.out.printf("You bought %d products for %.2f leva.", itemCount, itemTotalPrice);
        }

    }
}

 

0
elly22chan avatar elly22chan 12 Точки

Пробвах така -> https://pastebin.com/PQEvH7MQ.

 

Всички решения, които пробвам, гърмят в Judge на втория zero test с тази грешка:

Traceback (most recent call last):
  File "C:\Windows\TEMP\ExecutionStrategies\qfok4sqq.xth\tmp1468.tmp", line 17, in <module>
    command = input()
EOFError: EOF when reading a line

В pycharm всичко работи, но в Judge, ако в продукта има шпация, гърми. В случая на грешката е "Thermal Underwear"...

Пробвах всякакви вариации на решение.

0
Axiomatik avatar Axiomatik 2422 Точки

100 % solution by MartinBG for Python (https://softuni.bg/forum/30521/exam-02-03-may-2019-zadacha-tourist-shop)

 

budget = float(input())

counter = 0
bill = 0

while True:
    product = input()
    if product == "Stop":
        print(f"You bought {counter} products for {bill:.2f} leva.")
        break

    item_price = float(input())

    if (counter + 1) % 3 == 0:
        item_price *= 0.5

    if item_price + bill > budget:
        diff = item_price + bill - budget
        print("You don't have enough money!")
        print(f"You need {diff:.2f} leva!")
        break

    counter += 1
    bill += item_price

  

0
svephoto avatar svephoto 1191 Точки

Ето моя вариант за решение, по него ти бях описал насоките в предния пост: https://pastebin.com/evXb8MZS.

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