Проверка кода

Vladimir22

Новичок
Пользователь
Окт 12, 2020
1
0
1
Есть задача:

После прохождения каждой математической комнаты игроку начисляются очки. Максимально можно получить 100 000 очков за прохождение одной комнаты. Для этого нужно выйти из комнаты меньше, чем за одну минуту. После истечения этого времени каждая секунда, проведенная в комнате, уменьшает награду за прохождение.


Составь программу, которая сможет рассчитать количество очков, заработанных игроком.


На входе программа получает количество секунд, потраченных на прохождение комнаты.
На выходе программа должна выдавать количество очков, заработанных игроком.

Не забудь про валидацию, и в случае неправильных значений, выводи "error"!



ВремяБонус к выигрышу
1-59 сек.+100000
от 60 до 119 сек99999-80000
от 120 до 239 сек.79999-40000
от 240 до 359 сек.39999-20000
от 360 до 480 сек.19999-0



Мой код:

Python:
a = 0 #Количество секунд

b = 0 #Счёт

f = 0

v = 0

try:

    a = int(input())

except:

    v = 0

while True:

    if a > 480:

        print("error")

        break

    elif a < 1:

        print("error")

        break

    elif a > 0 and a < 60:

        b = 100000

        print(b)

        break

    elif a == 60:

        b = 99999

        print(b)

        break

    elif a > 60 and a < 119:

        a = a - 60

        f = round (20000 / 60 * a)

        b = (99999 - f)

        print(b)

        break

    elif a == 119:

        b = 80000

        print(b)

        break

    elif a == 120:

        b = 79999

        print(b)

        break

    elif a == 239:

        b = 40000

        print(b)

        break

    elif a > 120 and a < 239:

        a = a - 120

        f = round (40000 / 120 * a)

        b = (79999 - f)

        print(b)

        break

    elif a == 240:

        b = 39999

        print(b)

        break

    elif a == 359:

        b = 20000

        print(b)

        break

    elif a > 240 and a < 359:

        a = a - 240

        f = round (20000 / 120 * a)

        b = (39999 - f)

        print(b)

        break

    elif a == 360:

        b = 19999

        print(b)

        break

    elif a == 480:

        b = 0

        print(b)

        break

    elif a > 360 and a < 480:

        a = a - 360

        f = round (20000 / 120 * a)

        b = (19999 - f)

        print(b)

        break

    else:

        print("error")

        break


Ответ не принимается. Что не верно?
 
Последнее редактирование:

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
 

MonaCCi

Пользователь
Пользователь
Сен 30, 2020
66
11
8
17
Сами решайте задачи из НТИ, это нечестно, если вы просите у кого-то об этом помощи.
 

Форум IT Специалистов