Vladimir2222
Окт. 12, 2020 10:26:01
Задача:
После прохождения каждой математической комнаты игроку начисляются очки. Максимально можно получить 100 000 очков за прохождение одной комнаты. Для этого нужно выйти из комнаты меньше, чем за одну минуту. После истечения этого времени каждая секунда, проведенная в комнате, уменьшает награду за прохождение.
Составь программу, которая сможет рассчитать количество очков, заработанных игроком.
На входе программа получает количество секунд, потраченных на прохождение комнаты.
На выходе программа должна выдавать количество очков, заработанных игроком.
Не забудь про валидацию, и в случае неправильных значений, выводи “error”!
Время
Бонус к выигрышу
1-59 сек.
+100000
от 60 до 119 сек
99999-80000
от 120 до 239 сек.
79999-40000
от 240 до 359 сек.
39999-20000
от 360 до 480 сек.
19999-0
Мой код, где ошибка?
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
PEHDOM
Окт. 12, 2020 11:14:08
Vladimir2222
Мой код, где ошибка?
первая ошибка: выкладывая код, не заключили его в теги:
xam1816
Окт. 12, 2020 11:17:02
если бы этот человек сначала прошел обучение как писать на форуме,то код был бы заключен в тегах
Vladimir2222
Окт. 12, 2020 11:26:04
a = 0 #Количество секунд
b = 0 #Счёт
f = 0
v = 0
try:
a = float(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
PEHDOM
Окт. 12, 2020 11:26:09
Или как вариант, он бы вообще ничего не написал, обноломался бы на этапе обучения.
Хотя согласен, нужна какаято мурзилка с картинками, закрепленная в шапке, как минимум, ветки “Python для новичков”
Vladimir2222
Окт. 12, 2020 11:27:42
Давайте теперь комментарии по сути
PEHDOM
Окт. 12, 2020 11:40:20
Vladimir2222
а в чем ошибка? если оно считает неправильно, то хотябы предоставте что вводите, что программа выдает, и что должна выдать на самом деле.
Vladimir2222
Окт. 12, 2020 11:46:29
В этом то и загвоздка.
Нужно сдать задачу.
В нее зашиты какие то критерии.
На 6 критерии стопорится.
Failed test #6 of 10. Wrong answer
Вот мучаюсь, не понимаю, что еще хотят.
Vladimir2222
Окт. 12, 2020 11:47:51
Sample Input:
59
Sample Output:
100000
PEHDOM
Окт. 12, 2020 12:02:25
Vladimir2222
Sample Input:59Sample Output:100000
ну так все работает
а другие варианты, например75, 200, 250, 400 или 500?