Все истории

🐍 Python сложил 2 + 2 и получил 22. Что вообще происходит?

Копия публикации из архива канала. Дата и текст сохранены.

Новичок пишет:
a = input("Первое число: ")
b = input("Второе число: ")

print(a + b)

Вводит 2 и 2 — а Python отвечает:
22

Потому что input() всегда возвращает строку, даже если ты ввёл цифры.

Для Python это не:
2 + 2
а:
"2" + "2"

А оператор + у строк не складывает числа, а склеивает текст:
"кот" + "ик" # "котик"
"2" + "2" # "22"

Чтобы действительно посчитать, преобразуй ввод в число:
a = int(input("Первое число: "))
b = int(input("Второе число: "))

print(a + b) # 4

📌 Если нужны дробные числа — используй float() вместо int().

Вот и вся магия: Python не ошибся. Он просто сделал именно то, что ты ему попросил.

😄 А у вас какой был самый странный «баг», который в итоге оказался не багом, а особенностью языка? Делитесь в комментах 👇