Источник данных — источник, при обращении к которому программа получает формализованную, то есть приведённую к определённому виду в соответствие с определёнными правилами, информацию.
Формализация в общем случае требует, что мы, прежде чем запрашивать данные, должны полностью понимать, каким образом и в каком виде поступает информация: текст ли это, числа, табличная форма с полями, HTML-код и прочее.
Важен и метод получения информации. Например, при чтении из файла мы можем воспользоваться одним из трёх способов получения данных: загрузить в память файл полностью, либо загружать по одной строке последовательно, либо — посимвольно. В зависимости от выбранного способа мы пишем алгоритм обработки этих данных.
Источниками данных могут являться:
Несмотря на многообразие источников, в данной части учебника мы будем использовать ввод данных только с клавиатуры; в последнем разделе, где напишем игру с использованием Tkinter, — данные будут вводиться с помощью «мыши».
Уроки Python для начинающих | Функция input в Python | Ввод и вывод данных в Python
ВВОД С КЛАВИАТУРЫ
С клавиатуры мы можем получить два типа данных:
Программисту необходимо чётко осознавать, какой тип данных он запрашивает у пользователя. Исходя из типа данных пишется код для получения информации.
![]() |
Набранное на клавиатуре всегда поступает в программу в текстовой форме (тип str). Мы должны преобразовать строку в число, если нам требуются математические операции с данными. |
Ввод данных с клавиатуры осуществляет функция input().
input()
Функция input() возвращает данные, набранные пользователем на клавиатуре. Данные передаются только тогда, когда нажата клавиша Enter. Процесс набора текста в момент запроса данных с помощью input() никак не контролируется. До нажатия Enter’a проверить набираемое человеком на, например, корректность, невозможно.
![]() |
Если в программе нам нужны числа, а пользователь упорно вводит символы, — сделать мы с этим ничего не сможем. Лишь потом, когда он успокоится и нажмёт Enter, программа получит эти данные и мы злорадно сообщим, что требовалось число, а не текст, и попросим ввести данные заново. |
Фраза функция возвращает данные означает, что записав название функции (в нашем случае input()) мы можем быть твёрдо уверены в том, что получим результат её работы. Возвращение данных можно сравнить с разговором.
Вы спрашиваете у друга:
— У тебя когда днюха?
Он отвечает:
— Одинадцатого апреля!
Ваш вопрос — это функция. Ответ собеседника — результат работы функции, информация, которую вы сохраняете в памяти и по необходимости используете.
![]() |
Функция input() возвращает «ответ» на вопрос «Что ввёл пользователь?» |
#6. Функции print() и input(). Преобразование строк в числа int() и float() | Python для начинающих
s = input(«Введите данные: «)
Здесь s — переменная, в которую Python поместит результат работы функции: введённые символы, input() — функция.
В круглых скобках мы указываем строку-приглашение. Не пренебрегайте строкой-приглашением, каждая уважающая себя программа, запрашивая данные, помечает, что она имеет ввиду. Тем более не забывайте, что пользователь не видит вашего программного кода и не понимает, что программа от него требует.
![]() |
Обязательно используйте строку-приглашение. Она записывается в круглых скобках после имени функции и заключена в кавычки. |
Как же сработает программа?
s = input(«Введите данные: «)
Выглядит сложно? Разрушить кажущуюся сложность легко: просто попробуйте, как это работает!
ВВОД СТРОКИ
Поставим себе несложную задачу: спросить у пользователя имя и вывести его на экран. Решается предельно просто:
s = input(«Введите ваше имя: «) print(s)
Введите ваше имя: Виктор Виктор
Если переменная s не инициализирована, то есть ей не задано значение, то возникнет ошибка. Программа из одной строки:
NameError: name ‘s’ is not defined
Ошибка имени: идентификатор ‘s’ не определён.
ВЫВОД НЕСКОЛЬКИХ АРГУМЕНТОВ
Усложним предыдущую задачу: спросим у пользователя имя и выведем приветствие: «Привет, ИМЯ_ПОЛЬЗОВАТЕЛЯ! Как твои дела?».
Получать имя пользователя мы научились, определимся с выводом нескольких аргументов, то есть формированием выходной строки.
![]() |
Аргументами называются передаваемые в функцию значения. Например, функция print() выводит на экран всё, что мы укажем в скобках. Указанное и будет аргументом (или аргументами) — например, имя переменной, имя другой переменной, текст, заключённый в кавычки, формула и т.д. |
Каждый аргумент функции print() перечисляется через запятую. Как прилагательные в великом, могучем, родном, красивом, пушкинском русском языке.
Общий вид команды print() с несколькими аргументами.
print(«Привет», «Как», «Твои», «Дела?»)
Привет Как Твои Дела?
Отметьте для себя наличие запятых после каждой части фразы.
![]() |
Аргументы перечисляются через запятую. |
userName = input(«Введите ваше имя: «) print(«Привет,», userName, «! Как твои дела?»)
Введите ваше имя: Виктор Привет, Виктор ! Как твои дела?
![]() |
Обратите внимание на написание переменной userName. Слово «Name», так как является вторым словом, составляющим идентификатор, записано с заглавной буквы. Python’у, в общем, это без разницы. Так — каждое новое слово с большой буквы — принято писать у профессиональных программистов. |
Но у нас есть ещё одна проблема. Дело в том, что запись восклицательного знака на расстоянии в пробел от имени (да и любого слова) не соответствует стандартам. То есть так нельзя: «Привет, Виктор !» Нужно так: «Привет, Виктор!» Восклицательный знак «прижат» к слову.
Происходит из-за того, что print() по умолчанию между перечисленными через запятую аргументами ставит пробел. Исправим программу, воспользовавшись конкатенацией, то есть сложением строк:
userName = input(«Введите ваше имя: «) print(«Привет,», userName + «!», «Как твои дела?»)
Введите ваше имя: Виктор Привет, Виктор! Как твои дела?
Бинго! Злосчастный пробел убран!
print(«Привет,», userName + «!», «Как твои дела?»)
. вы можете записывать в одну строку. Главное не запутайтесь в запятых:
print(«Привет,», userName + «!», «Как твои дела?»)
Строка в отдельную переменную:
userName = input(«Введите ваше имя: «) outString = «Привет, » + userName + «! Как твои дела?» print(outString)
ВВОД ЦЕЛЫХ ЧИСЕЛ
Данные, получаемые с помощью input() всегда являются строковым значением str. Со строками мы не можем выполнять математические действия — вычитать, например, или делить. Даже если введём в строковые переменные числа:
a = input(«Введите число: «) b = input(«Введите число: «) summa = a + b print(«Сумма чисел:», summa)
Введите число: 35 Введите число: 15 Сумма чисел: 3515
То есть сработало присоединение, конкатенация. «Что же делать?» — спросите вы. А я вам отвечу: «Преобразовать тип!»
Если нам нужно получить целое число, то пользуемся функцией int(), которая пытается преобразовать строку в целое число.
Почему «пытается»? Потому что если в строке будут находиться буквы или знаки препинания, то Python выдаст ошибку. То есть int(«100») — сработает, а int(«Привет!») загубит программу.
a = int(input(«Введите число: «))
a = int(input(«Введите число: «)) b = int(input(«Введите число: «)) summa = a + b print(«Сумма чисел:», summa)
Введите число: 35 Введите число: 15 Сумма чисел: 50
Бинго! Теперь Python в соответствие с правилами математических выражений может работать с введёнными значениями, принимая их за числа.
Но если пользователь окажется коварен, хитёр и введёт дробное значение, то Python выдаст ошибку:
Введите число: 3.14 Traceback (most recent call last): File «D:PythonВвод значений.py», line 1, in a = int(input(«Введите число: «)) ValueError: invalid literal for int() with base 10: ‘3.14’
Пока избежать мы этого не можем. Поэтому при тестировании программы всегда следите за вводимыми данными. Проверку поставим потом.
ПРОГРАММА ДЛЯ БАБУШКИ
Пишем программу, которая поможет бабушке определить площадь прямоугольника. Комнаты, например, или дачного участка.
![]() |
Дружеский совет: при написании любой программы задавайтесь вопросом — а сможет ли вашей программой пользоваться бабушка? Или двухлетний брат? Ваша задача — писать простые и понятные программы с простым и понятным интерфейсом. Пользователь не должен гадать, что же вы от него хотите. Пользователь должен видеть нужное и не видеть ненужное. |
Подумал. А вдруг бабушка, которая станет читать этот учебник, не знает значение слова «интерфейс»? Итак, специально для Вас, Бабушка:
Площадь для бабушки. Листинг программы (текст кода):
print(«Здравствуй, дорогая бабушка!») print(«Написал специально для тебя программу,») print(«которая может посчитать площадь, например, комнаты.») print(«Просто введи нужные (целые!) числа и нажми Enter.») a = int(input(«Введи длину комнаты: «)) b = int(input(«Введи ширину комнаты: «)) resultat = a * b print(«Площадь комнаты text/javascript»>document.write(«
«)Здравствуй, дорогая бабушка! Написал специально для тебя программу, которая может посчитать площадь, например, комнаты. Просто введи нужные (целые!) числа и нажми Enter. Введи длину комнаты: 4 Введи ширину комнаты: 3 Площадь комнаты = 12
- Блок вывода: 1-4 строка с командами print().
- Блок ввода: запрос значений a и b.
- Блок обработки: вычисление значения resultat = a * b.
- Блок вывода: вывод на экран результата.
Крик восхищения
Братцы, да эта программа идеальна!
Источник: www.vgtrofimov.ru
Ввод информации с клавиатуры в Python.
В этом уроке мы узнаем, как вводить информацию с клавиатуры в программах Python, научимся вводить числовые и строковые переменные с помощью клавиатуры.
Для ввода данных в программах Python используется команда
Переменная = input(«Комментарий пользователя при вводе»)
При исполнении этой команды в переменную запишутся данные с клавиатуры, а в консоль выведется комментарий.
Чтобы вводимое значение отделялось от комментария в программе, нужно добавить к сообщению комментария пробел
Переменная = input(“Сообщение ”)
Чтобы информация вводилась на следующей строке, необходимо сделать перенос на новую строку с помощью
Переменная = input(“Сообщение ”).
С помощью Python команды input() с клавиатуры вводится строка. Для того, чтобы получить числовое значение переменной, нужно использовать команду int( input(“Сообщение ”)) , переводящую строки в числа
Пример.
a = int(input(“Введите значение переменной a”))
b = 10
print(b + a)
Эта программа получает числовое значение переменной a, прибавляет к нему b и выводит результат на экран.
Обратите внимание на отсутствие кавычек в команде print(b + a). В кавычки помещаются только строки, которые нужно вывести, а без кавычек программа будет считывать значения переменных a и b. Если бы в print() были кавычки, то программа вывела бы “b + a”, а если их нет, то программа выведет число, равное 10 + a.
Пример программы на Python, которая вводит числа с клавиатуры и выводит на экран их сумму
a = int(input(“Введите первое число. ”))
b = int(input(“Введите второе число. ”))
print(a + b)
Пример программы на Python, которая спрашивает имя и отчество, и выводит приветствие пользователя по имени и отчеству.
n = input(«Введите имя. «)
sn = input(«Введите отчество. «)
print(«Здравствуйте, » + n + » » + sn + «.»)
В команде print() можно прибавлять строки.
Вернуться к содержанию Следующая тема Синтаксис языка Python. Условия в Python
Комментарии ( 0 )
Нет комментариев. Ваш будет первым!
Источник: itrobo.ru
ВВОД В PYTHON
Ввести значения в переменные во время выполнения программы можно при помощи функции input(). Эта функция приостанавливает выполнение программы и ждет ввода данных в окне Shell.
Попробуем написать программу с использованием функции input().
x = input() print(x)
Запустим программу, перейдем в окно Shell, введем, например, 5 и нажмем Enter. Введенное число будет присвоено переменной x, а затем напечатано.
Хотя мы вводили в программу числовое значение, input() вернул нам его строковое (символьное) представление. Переменная x при этом стала не числом, а строкой. Чтобы убедиться в этом, рассмотрим следующий пример.
a = input() b = input() print(a + b)
Запустим программу, перейдем в окно Shell, введем, например, 5 и нажмем Enter. Введенное число будет присвоено переменной a. Введем еще одно число, например, 7 и нажмем Enter.
Получим следующий результат:
5 7 57
Вместо ожидаемого числа 12, получилось 57. Никакой ошибки здесь нет. Просто значения, хранящиеся в переменных a и b, строковые. Вместо математического сложения произошло соединение двух строк (конкатенация).
Для того, чтобы превратить строку в число, применим функцию int(). Эта функция преобразовывает аргумент в целое число. Аргументом в нашем случае будет выступать значение, возвращаемое функцией input().
a = int(input()) b = int(input()) print(a + b)
5 7 12
Для преобразования в дробное число используется функция float().
Аргументом функции input() может выступать любое строковое значение (строковые значения в Python записываются в кавычках). Эта строчка будет печататься в Shell в качестве приглашения к вводу для пользователя.
Напишем программу, используя приглашения для пользователя в функциях input().
Наша программа будет вычислять площадь прямоугольника и работать с дробными числами, поэтому мы воспользуемся функцией float().
Разделителем в дробных числах является точка, учитываейте это при вводе значений.
a = float(input(‘Введи длину: ‘)) b = float(input(‘Введи ширину: ‘)) print(‘Площадь прямоугольника ‘, a * b)
Источник: myrobot.ru