Есть задача:
После прохождения каждой математической комнаты игроку начисляются очки. Максимально можно получить 100 000 очков за прохождение одной комнаты. Для этого нужно выйти из комнаты меньше, чем за одну минуту. После истечения этого времени каждая секунда, проведенная в комнате, уменьшает награду за прохождение.
Составь программу, которая сможет рассчитать количество очков, заработанных игроком.
На входе программа получает количество секунд, потраченных на прохождение комнаты.
На выходе программа должна выдавать количество очков, заработанных игроком.
Не забудь про валидацию, и в случае неправильных значений, выводи "error"!
Мой код:
Ответ не принимается. Что не верно?
После прохождения каждой математической комнаты игроку начисляются очки. Максимально можно получить 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
Ответ не принимается. Что не верно?
Последнее редактирование: