Задача:
Каков будет вывод данной программы, если на вход последовательно через перевод строки подать 1, 2 и 3?
a = input() b = input() n = int(input()) print((a + b) * n, a * n + b * n)
Решение:
Давайте пошагово проследим за выполнением программы и значениями переменных при вводе 1, 2 и 3.
Входные данные:
- Первый ввод:
1 - Второй ввод:
2 - Третий ввод:
3
Пошаговое выполнение:
-
a = input()Функция
input()считывает первую строку ввода. Посколькуinput()всегда возвращает строку, переменнаяaполучит строковое значение.Значение
a:'1'(строка) -
b = input()Функция
input()считывает вторую строку ввода. Переменнаяbтакже получит строковое значение.Значение
b:'2'(строка) -
n = int(input())Функция
input()считывает третью строку ввода ('3'). Затем функцияint()преобразует эту строку в целое число. Переменнаяnполучит числовое значение.Значение
n:3(целое число) -
print((a + b) * n, a * n + b * n)Теперь вычислим значения выражений, которые будут выведены функцией
print(). Функцияprint()выводит несколько значений, разделяя их пробелом по умолчанию.Первое выражение:
(a + b) * na + b: Это конкатенация строк, так какaиb— строки.'12' * n: Это повторение строки'12'nраз. Посколькуn = 3, строка'12'будет повторена 3 раза.
'1' + '2' = '12''12' * 3 = '121212'Результат первого выражения:
'121212'Второе выражение:
a * n + b * na * n: Это повторение строкиanраз.b * n: Это повторение строкиbnраз.'111' + '222': Это конкатенация двух полученных строк.
'1' * 3 = '111''2' * 3 = '222''111' + '222' = '111222'Результат второго выражения:
'111222'
Функция print() выведет эти два результата, разделенные пробелом.
Вывод программы:
121212 111222
Ответ:
Программа напечатает: 121212 111222
