Ввод данных с клавиатуры
Для ввода в оперативную память значений переменных используется оператор ввода input. Каждая функция input() захватывает только ОДНУ строку данных и воспринимает ее как ТЕКСТ (строковый тип):
a=input ()
Тип переменной можно преобразовать налету:
для целых: a = int (input())
для вещественных: a = float (input())
При выполнении функции input компьютер переходит в режим ожидания данных: поль-зователь должен ввести данные с клавиатуры и нажать клавишу Enter, система запишет это зна-чение в переменную.
Есть задачи, в которых вводимые данные заданы в одной строке, например, 10 20.
Чтобы была возможность работать с такими данными, их надо разделить.
Для этого нужно применить следующий синтаксис:
a, b = input().split()
Здесь есть правило: количество данных должно соответствовать количеству переменных.
примере выше в одной строке передаются два целых числа, разделенных пробелом. Соответ-ственно, нужно эти данные передать также двум переменным. Осталось не забыть, что опреде-ленные таким образом переменные имеют строковый тип. Для арифметического сложения их нужно привести к типу целого числа.
a = int(a) b = int(b)
или одной строкой a, b = int(a), int(b)
Теперь рассмотрим ситуацию, когда входные данные заданы в одной строке, но разде-лены особыми разделителями, отличными от пробела. Классическим примером таких входных данных является показания времени - 10:33.
таких случаях надо для split() указывать конкретный символ разделителя. Разделите-лем будет символ ':', взятый в кавычки или апострофы.
hours, minutes = input().split(':')
Также добавим, что если в одной строке введены данные одного единственного типа (только целые числа, вещественные числа или строки), то определение переменных и задание им одного и того же типа можно выполнить одной строкой кода, используя следующий синтаксис: a, b = map(int, input().split()) # назначает a и b тип целого числа, данные разделены пробелом c, d = map(float, input().split(';')) # назначает c и d тип вещественного числа, данные разделены ';' e, f, h = map(str, input().split('_')) # назначает e, f, h строковый тип, данные разделены знаком '_'
При вызове функции input в скобках можно записать сообщение-подсказку: a=input("Введите число:")
Усовершенствуем программу 1, организовав в ней ввод данных с помощью оператора input, включив строку с приглашением для ввода:
Программа 2
r = float (input ('Введите радиус:'))
c = 2 * 3.14 * r
s = 3.14 * r * r
print ("c=", "{:6.4f}".format(c))
print ("s=", "{:6.4f}".format(s))
Теперь наша программа может вычислить длину окружности и площадь круга для любого целого значения r. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.
Достарыңызбен бөлісу: |