Лекция Основы алгоритмизации. Алгоритмы и величины. Этапы решения задачи на ЭВМ



бет5/37
Дата16.01.2022
өлшемі0,96 Mb.
#129365
түріЛекция
1   2   3   4   5   6   7   8   9   ...   37
Байланысты:
Все лекции

Ввод данных с клавиатуры

Для ввода в оперативную память значений переменных используется оператор ввода input. Каждая функция input() захватывает только ОДНУ строку данных и воспринимает ее как ТЕКСТ (строковый тип):


a=input ()

Тип переменной можно преобразовать налету:




  1. для целых: a = int (input())

  2. для вещественных: 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. Иначе говоря, она решает не единичную задачу, а целый класс задач. Кроме того, в программе понятно и удобно организован ввод исходных данных и вывод получаемых результатов. Это обеспечивает дружественность пользовательского интерфейса.





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   37




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет