Урок 5. Ввод и вывод данных в языке Python
Оценка 4.8

Урок 5. Ввод и вывод данных в языке Python

Оценка 4.8
Разработки уроков
pdf
информатика
7 кл—9 кл
02.06.2017
Урок 5. Ввод и вывод данных в языке Python
На уроке осваиваются приемы ввода данных с клавиатуры с помощью встроенной функции input и вывода данных на экран функцией print(), которая выводит значения переданных ей выражений. Рассматривается пример скрипта, использующего ввод и вывод данных. Приводится пример, когда данные на экран надо вывести не через один пробел, а в виде таблицы.Документ pdf
Урок 5. Ввод и вывод данных в языке Python.pdf

Урок 5. Ввод и вывод данных

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

В Python есть встроенная функция input  для получения ввода с клавиатуры:

name = input()

Прежде чем вызывать  input, было бы хорошо напечатать сообщение для пользователя о том, что требуется ввести. Такое сообщение называют приглашением. Можно указать приглашение в качестве аргумента input:

name = input("Ваше имя? ")

Когда вызывается функция input, программа “останавливается” и ждет, чтобы пользователь что-нибудь ввел с клавиатуры. Когда пользователь нажимает клавишу Enter, выполнение программы возобновляется, и  функция input возвращает то, что ввел пользователь, как значение типа str (строка):

name = input("Ваше имя? ") Ваше имя? Максим

В ответ на приглашение “Как вас зовут?” пользователь ввел “Максим”. Обратите внимание, что приглашение является строкой, и поэтому должно быть заключено в кавычки. 

Чтобы сказать компьютеру, что пользователь вводит числа, необходимо воспользоваться функцией преобразования типа  int() или float(). Первое используется для целых чисел, второе - для дробных.

n = input("Введите целое число: ") n = int(n)

Пользователю           предлагается            ввести            целое число.            Если    пользователь            введет последовательность цифр, то введенное им значение будет преобразовано в целое число и присвоено переменной n. Python позволяет объединять оператор ввода input и преобразования типа int в одной строке, например так:

n = int(input("Введите целое число: "))

Для дробных чисел используется функция float(). Для сокращения программы, можно сразу поставить выражение input внутрь выражения float. Например, эти строки кода:

m = input("Введите массу объекта в кг:") m = float(m)

Выполняют то же самое, что и строка:

m = float(input("Введите массу объекта в кг:"))

В данном случае, результат функции input сразу будет передан в функцию float. Оба варианта работают, и, конечно, программист сам должен выбирать, какой же вариант ему использовать. Однако в любом случае очень важно понимать оба варианта.

2.12. Вывод данных на экран

Для вывода данных на экран используется функция print(), которая выводит значения переданных ей выражений. 

Строки выводятся без кавычек и между элементами вставляются пробелы, благодаря чему форматирование вывода улучшается. 

Для отключения перевода строки после вывода используется параметр end.

# Пример 05.1

# Отключение перевода строки a, b = 1, 1 print(a, b, end=' ') a, b = 2, 3 print(a, b, end=' ') 

В таком варианте значения переменных будут выведены не в столбик, а в одной строке. Результат выполнения:

1 1 2 3

При выводе данных можно выполнить преобразование объекта (переменной) в строку функцией  str():

str(object) -> string

Например:

# Пример 05.2

# Преобразование объекта в строку x = 10 * 3.25 y = 200 * 200

s = 'Значение х = ' + str(x) + ', а значение y = ' + str(y) print(s)

Результат выполнения:

Значение х = 32.5, а значение y = 40000

Бывают ситуации, когда данные на экран надо вывести не через один пробел, а в виде таблицы. Другими словами, в полях определенной ширины, где ширина измеряется в знакоместах. 

Рассмотрим пример. Допустим надо вывести числа второй строки под числами первой. Если выполнить функцию print() так:

print(10,235) print(1000,50)

то результат будет выглядеть так:

10 235

1000 50

Поэтому, чтобы вывод выглядел красиво, необходимо задать ширину поля. Делается это так:

print("%5d%7d" % (10,235)) print("%5d%7d" % (1000,50))

Результат:

   10     235

 1000     50

Здесь в кавычках указаны форматы данных и ширина полей. После знака % за кавычками указаны данные, которые будут подставлены вместо каждого указанного формата. Если количество форматов не совпадает с количеством данных, то возникнет ошибка.

Форматы данных могут быть: 

d - целое число, s - строка, f - вещественное число.

По умолчанию, данные выравниваются по правому краю поля. Чтобы выровнять их по левому краю достаточно поставить знак минус перед числом, обозначающим ширину поля. Пример:

print("%-5d%7d" % (10,235)) print("%-5d%7d" % (1000,50))

Результат:

10       235

1000      50

2.13. Пример скрипта, использующего ввод и вывод данных

Задача.

Пользователь вводит два числа. Одно присваивается одной переменной, а второе - другой. Необходимо поменять значения переменных так, чтобы значение первой оказалось во второй, а второй - в первой.

Пояснение к задаче и алгоритмы решения: 

Существует несколько способов  обменять значения переменных. Первый подходит для любых типов данных, а второй - только для числовых. Третий способ возможен только на языке программирования Python.

1-й способ. Через "буферную" переменную

1.    Пусть первое введенное значение присвоено переменной a, второе - b.

2.    Присвоим некой третьей переменной (например, c) значение, хранимое в a. Таким образом, окажется, что одно и то же значение будет сохранено в двух переменных.

3.    Запишем значение переменной b в a. Таким образом, мы "затрем" прежнее содержимое a, при этом значение b  будет храниться в двух переменных.

4.    Однако значение a  не потеряно, т.к. заранее было сохранено в c. Теперь мы можем присвоить переменной b значение, хранимое в c.

В результате данных трех присвоений окажется, что в переменной a  будет значение b, в b - значение a.

Код программы на языке Python: 

# Пример 05.3

# обмен значения переменных a = int(input()) b = int(input()) print('a=%d; b=%d' % (a, b)) c = a a = b b = c

print('a=%d; b=%d' % (a, b))

2-й способ. Путем арифметических операций

1.    Запишем в переменную a сумму значений двух переменных: a и b.

2.    Переменной b присвоить разность между новым значением переменной a и значением b. Таким образом, в b окажется старое значение a.

3.    Переменной a присвоить разность между ее текущим значением и новым значением переменной b. В результате в a окажется старое значение b. Код программы на языке Python: 

# Пример 05.4

# обмен значений двух переменных a = int(input()) b = int(input()) print('a=%d; b=%d' % (a, b)) a = a + b b = a - b a = a - b

print('a=%d; b=%d' % (a, b))

3-й способ. Через кортеж.

Особенности решения на языке программирования Python: 

Для Python существует и третий способ решения задачи - через кортеж. Выглядит это, например, так: a, b = b, a

В левой части у нас кортеж из двух переменных, а в правой - кортеж из двух значений. Каждое значение присваивается соответствующей ему переменной. Все выражения в правой части вычисляются до того, как выполняется первое присваивание. В результате данного действия значение b окажется связанным с a, значение a – с  b.

Код программы на языке Python: 

# Пример 05.5

# обмен значений двух переменных a = int(input()) b = int(input()) print('a=%d; b=%d' % (a, b))

a, b = b, a print('a=%d; b=%d' % (a, b))

Пример выполнения скрипта на Python:

5 2 a=5; b=2 a=2; b=5

  

Урок 5. Ввод и вывод данных 2

Урок 5. Ввод и вывод данных 2

В данном случае, результат функции input сразу будет передан в функцию float

В данном случае, результат функции input сразу будет передан в функцию float

Поэтому, чтобы вывод выглядел красиво, необходимо задать ширину поля

Поэтому, чтобы вывод выглядел красиво, необходимо задать ширину поля

Однако значение a не потеряно, т

Однако значение a не потеряно, т

5 2 a=5; b=2 a=2; b=5

5 2 a=5; b=2 a=2; b=5
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
02.06.2017