summa = num1 + num2
Выведем результат на экран:
print( summa )
Вот полная программа сложения двух чисел:
num1 = input() num2 = input()
summa = num1 + num2 print( summa )
Запустив эту программу, мы увидим неожиданный резуль-тат: если ввести, например, числа 12 и 13, то мы получим не 25, а 1213.
Дело в том, что функция input не знает заранее, значение
какого типа нужно ввести. Поэтому она считает всё, что введено, символьной строкой, то есть цепочкой символов. Операция сложения для символьных строк существует, но работает иначе, чем для чисел: вторая строка дописывается в конец первой. Та-ким образом, проблема в том, что программа воспринимает вве-дённые нами данные не как числа, а как цепочки символов.
Чтобы работать именно с числами, необходимо явно ска-зать, что введенные строки нужно преобразовать в числа. Это делает встроенная функция int. Получается такая программа:
num1 = int( input() ) num2 = int( input() ) summa = num1 + num2 print( summa )
Обратите внимание, что в начале каждой строки программы не должно быть пробелов.
Недостаток этой программы – плохой диалог с пользовате-лем:
при вводе данных программа просто ждёт ввода, но что именно нужно вводить – не ясно;
в конце работы программа выводит какое-то число, что оно означает – не ясно.
15 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Хотелось бы, чтобы диалог программы с пользователем выгля-дел так:
Введите два числа: 2
3 2+3=5
С помощью какого оператора можно вывести подсказку для ввода – фразу «Введите два числа:»?
Программу можно легко доработать. Добавим в самом на-чале приглашение к вводу
print( "Введите два целых числа:" )
и оформим вывод, заменив последнюю строчку:
print( num1, "+", num2, "=", summa, sep = "" )
Здесь все выводимые данные объединены в один список вывода, элементы в котором разделены запятыми. Обратите внимание, что имена переменных записаны без кавычек, а все символы, которые нужно вывести, – в кавычках (или в апострофах). Если в списке вывода указано имя переменной num1 без кавычек, программа выведет не символы «num1», а значение, которое хранится в переменной num1.
Теперь при вводе чисел 12 и 13 программа выведет
12+13=25
Что выведет эта программа при a = 4, b = 5 и c = 9?
print( "num1", "+num2", =, summa )
Исправьте ошибки в операторе вывода:
print( "c", "-b", =, a )
так чтобы при a = 4, b = 5 и c = 9 программа вывела 9–5=4.
Отметим, что в этой задаче можно было обойтись и без пе-
ременной summa, потому что выполнять вычисления можно
прямо при выводе:
print( num1, "+", num2, "=", num1+num2, sep = "" )
16 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Интерпретатор вычислит значение выражения num1+num2 и передаст его функции print для вывода. Однако если это зна-чение понадобится позже, лучше вычислить его один раз и со-хранить в отдельной переменной, а потом везде использовать значение этой переменной.
Достарыңызбен бөлісу: |