+ 1

Практическое задание скидка на обучение.

В данном задании есть несколько ошибок, замеченных мной в ходе решения. 1 - в исходном коде есть строка name input() в то время как при проверке имя не вводится, что приводит к ошибке. 2 - в ходе проверки в первом тесте вводятся данные 67 и 84 что в ходе вычисления среднего арифметического выдает результат 75.5 что соответствует float но никак не int. В результате код не исполняется и выдает 0.

24th Jan 2021, 9:53 PM
Никита Петрик
Никита Петрик - avatar
6 Answers
+ 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')
9th Apr 2021, 12:07 AM
Артур Фурик
Артур Фурик - avatar
0
Согласен, строка ввода здесь лишняя, но это не так страшно, ее можно удалить или превратить в ввод целочисленного типа. А вот со вторым пунктом я не согласен. В задании нам надо найти не просто среднее арифметическое, а скидку на обучение. Она находится через сравнение полученного среднего числа с баллами из условия, а в python проблем с сравнением целочисленных дробных чисел нет.
25th Jan 2021, 2:46 AM
John List
0
То что у тебя в условии if, я выводил в качестве отдельной переменной и просто сравнивал ее с условиями задачи. Может в этом дело?
25th Jan 2021, 9:45 AM
John List
0
Простите, но я только начал изучать это, и не до конца понимаю о чем вы. Можно подробнее?
25th Jan 2021, 12:14 PM
Никита Петрик
Никита Петрик - avatar
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)
19th Jun 2021, 7:09 AM
Plateau Born
Plateau Born - avatar
- 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. Подскажите, пожалуйста, как это можно исправить. Спасибо
25th Jan 2021, 5:10 AM
Никита Петрик
Никита Петрик - avatar