Встроенные функции в Python: print(), input(), split()

Главная › База знаний › Программирование › Python › Встроенные функции в Python: print(), input(), split()

Функции в Python: print(), input(), split(), использование функций на примере простейшего и продвинутого калькуляторов.

Функция print()

Для работы со скриптом надо познакомиться с функцией print(). Данная функция языка Python предназначена для вывода того, что заключено в ее скобках, например:

>>> print("Ку-КУ")
Ку-КУ

В скобках могут быть любые типы данных. Кроме того, количество данных может быть различным:

>>> print(1, "154")
1 154

Если в скобках стоит выражение, то сначала оно выполняется, после чего print() уже выводит результат данного выражения:

>>> print(23 + 32)
55

Если нам необходимо, чтобы какая-либо математическая операция отображалась на экране, но не выполнялась, мы заключаем данное выражение в кавычках:

>>> print("11 + 11")
11 + 11

Напишем и запустим простую функцию, выводящую результаты арифметических действий над операндами:

a = 14
b = 5
print("a = ", a)
print("b = ", b)
print ("Сложение a + b = ", a+b)
print ("Вычитание a - b = ", a-b)
print ("Умножение a * b = ", a*b)
print ("Деление a / b = ", a/b)
print ("Целая часть от деления a // b = ",a//b)
print ("Остаток от деления a % b = ",a%b)
print ("Смена знака -a = ", -a)
print ("Модуль числа abs(-a) = ", abs(-a))
print ("Возведение в степень a**2 = ", a**2)

Сохраняем код с расширением . py и запускаем. На экране должно появиться следующее:

a = 14
b = 5
Сложение a + b = 19
Вычитание a - b = 11
Умножение a * b = 70
Деление a / b = 2.8
Целая часть от деления a // b = 2
Остаток от деления a % b = 4
Смена знака -a = -14
Модуль числа abs(-a) = 14
Возведение в степень a**2 = 196

Функция input()

Если нам необходимо дать команду программе, то есть сообщить ей некоторую информацию, используется функция

input(). Эта функция ожидает ввода с клавиатуры, результатом ее выполнения является введенная вами строка.

>>> s = input()
123
>>> s
'123'

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

>>> s = input('Input number:')
Input number:123
>>> s
'123'

Если заранее известно, что с клавиатуры будут вводить только символы цифр, можно использовать следующую конструкцию для присвоения значений переменным:

>>> num = float(input('input number: '))
input number: 23
>>> type(num)
<class 'float'>
>>> num
23.
0

Функция split()

Специальная функция split() позволяет легко разделить начальную строку на отдельные кусочки. Для этого в кавычках указывается разделитель.

>>> s = 'Hello world'
>>> s.split(' ')
['Hello', 'world']

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

>>> s = 'Hello world'
>>> s.split()
['Hello', 'world']

Также Python позволяет разделить по определенному символу:

>>> s = 'Hello world'
>>> s.split('o')
['Hell', ' w', 'rld']
>>> s.split('w')
['Hello ', 'orld']

Если ввести новую переменную, то можно будет обратиться к отдельным элементам разбитой строки:

>>> a = s.split()
>>> a
['Hello', 'world']
>>> a[0]
'Hello'
>>> a[1]
'world'

Итогом работы функции split() является массив данных типов str

Данная функция полезна, если необходимо выбирать какие-то определенные элементы строки, причем нам заранее известен порядок следования данных (например, когда заполняются ФИО при оформлении документов).

Разработка простейшего калькулятора

Необходимо написать программу, которая принимает на вход один символ, умножает его на заранее заданное число (например, на 2), в результате выдает произведение.

a = 2;
num = float(input("Введи число: "))
print(a*num)

В результате получаем следующее:

Введи число: 4
8.0

Разработка продвинутого калькулятора

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

a = input("Введи два числа: ").split(" ")
print(float(a[0]) + float(a[1]))
print(float(a[0]) * float(a[1]))

В результате получаем следующее:

Введи два числа: 2 6
8.0
12.0

Курсы Робикс, в которых изучается этот материал.

  1. Программирование на Python в Minecraft
  2. Duckietown робот с системой Автопилота

Сохраните или поделитесь

Python. Урок 12. Ввод-вывод данных. Работа с файлами

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

Один из самых распространенных способов вывести данные в Python – это напечатать их в консоли. Если вы находитесь на этапе изучения языка, такой способ является основным для того, чтобы быстро просмотреть результат свой работы. Для вывода данных в консоль используется функция print.

Рассмотрим основные способы использования данной функции.

>>> print("Hello")
Hello
>>> print("Hello, " + "world!")
Hello, world!
>>> print("Age: " + str(23))
Age: 23

По умолчанию, для разделения элементов в функции print используется пробел.

>>> print("A", "B", "C")
A B C

Для замены разделителя необходимо использовать параметр sep функции print.

print("A", "B", "C", sep="#")
A#B#C

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

>>> for i in range(3):
    print("i: " + str(i))   
i: 0
i: 1
i: 2

Для его замены используется параметр end.

>>> for i in range(3):
    print("[i: " + str(i) + "]", end=" -- ")
[i: 0] -- [i: 1] -- [i: 2] -- 

Для считывания вводимых с клавиатуры данных используется функция input().

>>> input()
test
'test'

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

>>> a = input()
hello
>>> print(a)
hello

Если считывается с клавиатуры целое число, то строку, получаемую с помощью функции input(), можно передать сразу в функцию int().

>>> val = int(input())
123
>>> print(val)
123
>>> type(val)
<class 'int'>

Для вывода строки-приглашения, используйте ее в качестве аргумента функции input().

>>> tv = int(input("input number: "))
input number: 334
>>> print(tv)
334

Преобразование строки в список осуществляется с помощью метода split(), по умолчанию, в качестве разделителя, используется пробел.

>>> l = input().split()
1 2 3 4 5 6 7
>>> print(l)
['1', '2', '3', '4', '5', '6', '7']

Разделитель можно заменить, указав его в качестве аргумента метода split()

.

>>> nl = input().split("-")
1-2-3-4-5-6-7
>>> print(nl)
['1', '2', '3', '4', '5', '6', '7']

Для считывания списка чисел с одновременным приведением их к типу int можно воспользоваться вот такой конструкцией.

>>> nums = map(int, input().split())
1 2 3 4 5 6 7
>>> print(list(nums))
[1, 2, 3, 4, 5, 6, 7]

Открытие и закрытие файла

Для открытия файла используется функция open(), которая возвращает файловый объект. Наиболее часто используемый вид данной функции выглядит так open(имя_файла, режим_доступа).

Для указания режима доступа используется следующие символы:

r’ – открыть файл для чтения;

w’ – открыть файл для записи;

x’ – открыть файл с целью создания, если файл существует, то вызов функции open завершится с ошибкой;

a’ – открыть файл для записи, при этом новые данные будут добавлены в конец файла, без удаления существующих;

b’ – бинарный режим;

t’ – текстовый режим;

+’ – открывает файл для обновления.

По умолчанию файл открывается на чтение в текстовом режиме.

У файлового объекта есть следующие атрибуты.

file.closed – возвращает true если файл закрыт и

false в противном случае;

file.mode – возвращает режим доступа к файлу, при этом файл должен быть открыт;

file.name – имя файла.

>>> f = open("test.txt", "r")
>>> print("file.closed: " + str(f.closed))
file.closed: False
>>> print("file.mode: " + f.mode)
file.mode: r
>>> print("file.name: " + f.name)
file.name: test.txt

Для закрытия файла используется метод close().

Чтение данных из файла

Чтение данных из файла осуществляется с помощью методов read(размер) и readline().

Метод read(размер) считывает из файла определенное количество символов, переданное в качестве аргумента. Если использовать этот метод без аргументов, то будет считан весь файл.

>>> f = open("test.txt", "r")
>>> f.read()
'1 2 3 4 5\nWork with file\n'
>>> f.close()

В качестве аргумента метода можно передать количество символом, которое нужно считать.

>>> f = open("test.txt", "r")
>>> f.read(5)
'1 2 3'
>>> f.close()

Метод readline() позволяет считать строку из открытого файла.

>>> f = open("test.txt", "r")
>>> f.readline()
'1 2 3 4 5\n'
>>> f.close()

Построчное считывание можно организовать с  помощью оператора for.

>>> f = open("test.txt", "r")
>>> for line in f:
...     print(line)
...
1 2 3 4 5
Work with file

>>> f.close()

Запись данных в файл

Для записи данных файл используется метод write(строка), при успешной записи он вернет количество записанных символов.

>>> f = open("test.txt", "a")
>>> f.write("Test string")
11
>>> f.close()

Дополнительные методы для работы с файлами

Метод tell() возвращает текущую позицию “условного курсора” в файле. Например, если вы считали пять символов, то “курсор” будет установлен в позицию 5.

>>> f = open("test.txt", "r")
>>> f.read(5)
'1 2 3'
>>> f.tell()
5
>>> f.close()

Метод seek(позиция) выставляет позицию в файле.

>>> f = open("test.txt", "r")
>>> f.tell()
0
>>> f.seek(8)
8
>>> f.read(1)
'5'
>>> f.tell()
9
>>> f.close()

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

>>> with open("test.txt", "r") as f:
...     for line in f:
...             print(line)
...
1 2 3 4 5
Work with file
Test string
>>> f.closed
True

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

<<< Python. Урок 11. Работа с исключениями   Python. Урок 13. Модули и пакеты >>>

Как ввести несколько значений от пользователя в одну строку в Python?

Улучшить статью

Сохранить статью

Нравится Статья

  • Уровень сложности: Easy
  • Последнее обновление: 29 Дек, 2022

  • Читать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    Нравится Статья

    Например, в C мы можем сделать что-то вроде этого:

    C

    scanf ("%d %d", &x, &y)

    Одним из решений является использование raw_input() два раза.

    Python3

    .

    x, Y = Вход ( ()

    .

    х, у = вход ().split()

    Обратите внимание, что нам не нужно явно указывать split(‘ ‘), потому что split() использует любые символы пробела в качестве разделителя по умолчанию. Следует отметить одну вещь в приведенном выше коде Python: и x, и y будут строковыми. Мы можем преобразовать их в int, используя другую строку

     x, y = [int(x), int(y)]
    # Мы также можем использовать понимание списка
    x, y = [int(x) for x in [x, y]] 

    Ниже приведен полный однострочный код для чтения двух целочисленных переменных из стандартного ввода с использованием разделения и понимания списка 

    Python3

    x, Y = [ INT (x) для x (x) для x (x) для x (x) .

    Python3

    x, y = map ( int , input ().split())

    Вместо того, чтобы использовать функцию ввода для чтения строки ввода от пользователя и последующей обработки строки для извлечения значений, вы можете использовать функцию sys.stdin.readline для чтения строки ввода, а затем использовать метод разделения и понимание списка для извлечения и преобразования значений в желаемый тип.

    Python3

    Импорт SYS

    Линия = [

    0036 INT (x) для x в Sys. stdin.Readline (). Split ()]

    . Эта статья представлена ​​на

    1202. Пожалуйста, напишите комментарии, если вы найдете что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше


    Нравится статья

    Сохранить статью

    3.5 метод split() в Python

    метод разделения()
    1. Разделить строку на список, где каждое слово является элементом списка:
    2. Разбивает ввод по указанному разделителю.
    3. Если разделитель не указан, то любой пробел является разделителем.
    4. Как правило, пользователь использует метод split() для разделения строки Python, но его можно использовать и для получения нескольких входных данных.

    Синтаксис:

     input().split(separator, maxsplit)
     

    а) сепаратор (опционально): 9Разделитель 0202 (необязательно) — разделитель. Строка разбивается по указанному разделителю. Если разделитель не указан, любая строка с пробелами (пробел, новая строка и т. д.) является разделителем.
    b) maxsplit (необязательно): Maxsplit определяет максимальное количество разделений.
    Значение maxsplit по умолчанию равно -1, что означает отсутствие ограничений на количество разделений.

    Возвращаемое значение функции split():
    Функция split() разбивает строку по разделителю и возвращает список строк.

    Пример 1: , если разделитель не указан -

     x='my name is abc'
    печать (x.split())
    y='привет приветствую'
    печать (y.split())
     

    Запустите приведенный выше код, и ваш вывод будет выглядеть так:

     ['my','name','is','abc']
    ['привет', 'добро пожаловать']
     

    Пример 2: , если указан разделитель-

     x='my,name,is,abc'
    печать (x.split())
    y='меня зовут,abc и тебя зовут'
    печать (y.split())
     

    , когда вы запускаете приведенный выше код, и ваш вывод выглядит как

     ['мое','имя','это','abc']
    ['мое имя','есть','abc и','ваше имя','есть']
     

    Пример 3: , когда указано maxsplit

     бакалея = 'Молоко, Курица, Хлеб, Масло'
    печать (бакалея. split (', ', 2))
    печать (бакалея.split (', ', 1))
    печать (бакалея.split (', ', 0))
    печать (бакалея.split (', ', 5))
     
     ['Молоко', 'Курица', 'Хлеб, Масло']
    ['Молоко', 'Курица, хлеб, масло']
    ['Молоко, Курица, Хлеб, Масло']
    ['Молоко', 'Курица', 'Хлеб', 'Масло']
     
    Множественный ввод с использованием метода split()

    Разработчик часто хочет, чтобы пользователь вводил несколько значений или входных данных в одной строке. В C++/C пользователь может принимать несколько входных данных в одной строке с помощью scanf, но в Python пользователь может принимать несколько значений или входных данных в одной строке двумя способами.

    1. Использование метода split()
    2. Использование понимания списка ( обсуждается позже )

    а>. Эта функция помогает получить несколько входных данных от пользователя.
    б>. Он разбивает данный ввод по указанному разделителю.
    с>. Если разделитель не указан, то любой пробел является разделителем.
    д>. Как правило, пользователь использует метод split() для разделения строки Python, но его можно использовать и для множественного ввода

    Примеры

     x, y = input("Введите два значения: ").split() # здесь разделитель это пробел
    print("Первое значение равно:",x)
    print("второе значение равно :",y)
    print() # для разрыва строки
    x, y = input("Введите два значения: ").split(",") # здесь разделителем является запятая
    print("Первое значение равно:",x)
    print("второе значение равно :",y)
     

    при запуске приведенного выше кода вывод выглядит следующим образом:

     Введите два значения: 5 10
    первое значение: 5
    второе значение: 10
    Введите два значения: 5,10
    первое значение: 5
    второе значение: 10
     

    Мы также можем взять список в качестве входных данных, потому что метод split() возвращает список в качестве выходных данных.

    Пример

     x=input("Введите элементы списка через запятую:").