+ 1
Практическое задание скидка на обучение.
В данном задании есть несколько ошибок, замеченных мной в ходе решения. 1 - в исходном коде есть строка name input() в то время как при проверке имя не вводится, что приводит к ошибке. 2 - в ходе проверки в первом тесте вводятся данные 67 и 84 что в ходе вычисления среднего арифметического выдает результат 75.5 что соответствует float но никак не int. В результате код не исполняется и выдает 0.
6 odpowiedzi
+ 1
Не благодарите... Почему-то только так система разрешила...
sem1_score = int(input())
sem2_score = int(input())
if (sem1_score + sem2_score) / 2 >= 90 and (sem1_score + sem2_score) / 2 <= 100:
print('50')
elif (sem1_score + sem2_score) / 2 >= 80 and (sem1_score + sem2_score) / 2 <= 89:
print('30')
elif (sem1_score + sem2_score) / 2 >= 70 and (sem1_score + sem2_score) / 2 <= 79:
print('10')
else:
print('0')
0
Согласен, строка ввода здесь лишняя, но это не так страшно, ее можно удалить или превратить в ввод целочисленного типа. А вот со вторым пунктом я не согласен. В задании нам надо найти не просто среднее арифметическое, а скидку на обучение. Она находится через сравнение полученного среднего числа с баллами из условия, а в python проблем с сравнением целочисленных дробных чисел нет.
0
То что у тебя в условии if, я выводил в качестве отдельной переменной и просто сравнивал ее с условиями задачи. Может в этом дело?
0
Простите, но я только начал изучать это, и не до конца понимаю о чем вы. Можно подробнее?
0
Уберите name - в условиях не было такого, а дальше всё очень просто
sem1_score = int(input())
sem2_score = int(input())
x = (sem1_score + sem2_score)/2
if x >= 90 and x<= 100:
print(50)
elif x >= 80 and x<= 89:
print(30)
elif x >= 70 and x<= 79:
print(10)
elif x >= 0 and x<= 69:
print(0)
- 1
Вот как выглядит мой код.
score1 = int(input())
score2 = int(input())
# место для вашего кода
if (score1 + score2) / 2 >= 90:
print("50")
elif (score1 + score2) / 2 in range (80,90):
print ("30")
elif (score1 + score2) / 2 in range (70,80):
print ("10")
else :
print ("0")
При проверке во время первого теста программа вместо результата 10 выполняет инструкцию else.
Подскажите, пожалуйста, как это можно исправить. Спасибо