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

Помогите, пожайлуста, - Python

Ярослав Шумилов Знаток (326), открыт 2 дня назад
Я посмотрел решение задачи :
но немогу понять, что значит запятая в : a,b = b,a
Помогите пж
3 ответа
Молот Шотландцев Высший разум (302211) 2 дня назад
a,b = b,a это и есть обмен значений переменных
Раиль Назмутдинов Ученик (179) 2 дня назад
Где принт а попробуй написать: print(a, end = ' ', пробел между ковычками)
tzi iziПрофи (613) 2 дня назад
А смысл пробела если в принте стоит запятая то пробел ставится автоматически. Автор кода по видимому два принта поставил по этому на разных строчках
Раиль Назмутдинов Ученик (179) tzi izi, если между ковычками пробел не ставить то результат слитно выведется
Андрей Высший разум (472509) 2 дня назад
В языке Python в некоторых местах можно опускать круглые скобки, объявляющие кортеж, и конструкция:
 a, b = b, a 
это просто краткая запись конструкции:
 (a, b) = (b, a) 
Переменным, перечисленным слева от '=', последовательно присваиваются значения кортежа, находящегося справа от '=' - в том порядке, в котором переменные и значения перечислены.

Например, вместо:
 a = int(input())
b = int(input())
в Python можно написать:
 a, b = int(input()), int(input()) 

А, например, в JavaScript обмен значений записывается только так:
 [a, b] = [b, a]; 
В этом языке опустить квадратные скобки нельзя.

P.S. Способ, который ожидают авторы задачи:
 t = a
a = b
b = t
Финт ушами, меняющий целочисленные значения без дополнительной переменной и без кортежей:
 a = (b := (a := a ^ b) ^ b) ^ a 
Похожие вопросы