Loading...

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

kirilof93 avatar kirilof93 1 Точки

Salary - Python Basics

Здравейте,

някой може ли да ми отговори защо на тази задача, при долу посочения код, получавам 77/100 точки в Джъдж системата. Аутпута и там и в IDE-то е идентично, като това в условието на задачата. Също така, нали Джъдж следи само за правилния аутпут, а не и за кода, който е написан. Защо при работещ код, получавам грешка:

Zero test #1 (Runtime error)

The zero tests are not included in the final result.

Show input

Traceback (most recent call last):
  File "C:\Windows\TEMP\ExecutionStrategies\vonmeoko.juj\tmpF7FD.tmp", line 7, in <module>
    site_name = input()
EOFError: EOF when reading a line


open_tabs = int(input())
salary = int(input())

fine = 0

for site in range(open_tabs):
    site_name = input()

    if site_name == "Facebook":
        fine = 150
        salary -= fine
        if salary <= 0:
            print("You have lost your salary.")
        site += 1
    elif site_name == "Instagram":
        fine = 100
        salary -= fine
        if salary <= 0:
            print("You have lost your salary.")
        site += 1
    elif site_name == "Reddit":
        fine = 50
        salary -= fine
        if salary <= 0:
            print("You have lost your salary.")
        site += 1
    else:
        site += 1

print(salary)
Тагове:
0
Python
aquaruiz avatar aquaruiz 135 Точки

Здравей,
Грешката ти  в нулевия тест идва от това, че се опитваш да завъртиш цикъла 10 пъти, но подаваш само 7 имена на отворени в браузера таба. Не успях да намеря условието на самата задача, но предполагам, че когато заплата ти падне под 0, трябва да спреш програмата и да принтираш съобщение.

Когато пишеш for loop в python, променливата ти, която изполваш да завътиш цикъла, се увеличава служебно. Така, че редът site += 1 не е необходим, а само бърка програмата, защото site се увеличава с 1, а и ти го увеличаваш с още едно, т.е. site прескача през 2 единици.

Предлагам ти следната редакция на твоя код, за да разбереш идеята:
https://pastebin.com/7bL8qisR

Иначе според мен би било по-ясно да решиш задачата по следния начин:
https://pastebin.com/zukcQPdS

0
07/06/2019 18:38:23
kirilof93 avatar kirilof93 1 Точки

Мерси много за отговора! Вашето решение наистина изглежда доста по-добре! yes

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