Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на python не хочет решаться ?

Виолетта Приходченко Ученик (100), открыт 9 часов назад
Задача звучит так
"Даны два числа. если их значения не равны, то присвоить каждому большее из этих значений, а если равны то присвоить числам нулевые значения. Вывести новые значения А и В"
...
Ну вот, у меня получается
a = int(input())
b = int(input())
if a != b:
c = max(a, b)
a = c
b = c
else:
a = 0
b = 0
print(a, b)
....
Казалось бы, вроде всё нормально
И оно даже чуть-чуть работает
Нооо
Оно будто бы не видит значение переменной b
И если я подставлю в input
4
5
Мне выведет число 4
А если
4
4
Всё равно выводится 4, а по идее должно быть 0, т.к. a = b
Вооот
Совсем не понимаю как можно исправить ?
3 ответа
Вертолётов 625 Мудрец (13333) 9 часов назад
Код:
 a = int(input()) 
b = int(input())

if a != b:
c = max(a, b)
a = c
b = c
else:
a = 0
b = 0

print(a, b)
Отступы: В Python очень важны отступы для определения блоков кода (например, тела if и else). Ваш код не имеет необходимых отступов после операторов if и else. Это приводит к тому, что строки внутри этих блоков не выполняются как ожидается.
Андрей Высший разум (462283) 9 часов назад
В онлайн Python твой код нормально работает: https://onlinegdb.com/9NUM6BI4R
Так что, полагаю, у тебя либо код не тот, что опубликовал, либо что-то с консолью.

Можно сократить:
 a, b = int(input()), int(input())
a, b = [max(a, b) * (a != b)] * 2
print(a, b)
Skamveer . Профи (649) 8 часов назад
 a = int(input()) 
b = int(input())

if a != b:
c = max(a, b)
a = c
b = c
else:
a = 0
b = 0

print(a, b)
Если с отступами не накосячил, то все должно работать
Похожие вопросы