Содержание:развернуть
- Синтаксис
- Параметры
- Пример использования функции print
- Кодировка
- Буферизация ввода-вывода
-
Блочная буферизация (block-buffered)
-
Линейная буферизация (line-buffered)
-
Небуферизированный вывод (unbuffered)
- Стилизированный print
-
pprint
-
reprlib
-
json.dumps
- Цвет (управляющие коды ANSI)
- Анимация (прелоадеры)
-
Вращающееся колесо
-
Progress Bar
- Best practice
Каждый, кто изучает язык программирования Python, начинает с функции print()
, выводя с ее помощью на экран первое сообщение — «Привет, мир!». Ее можно использовать для вывода текстовых сообщений, однако ошибочно полагать, что это все, что нужно знать о print()
в Python.
Функция print()
в языке Питон предназначена для вывода заданных объектов на стандартное устройство вывода — обычно экран, также может отправлять их в файл.
Синтаксис
Рассмотрим синтаксис этой функции. Самый простой пример:
>>> print()
Даже если функция не получает никаких аргументов, все равно необходимо вставлять после названия пустые скобки, что значит для интерпретатора выполнить функцию, а не просто ссылаться на нее.
В результате этого будет выведен неотображаемый символ пустой строки, она появиться на экране, не нужно путать это с пустой строкой, в которой вообще нет никаких символов.
Но чаще всего нужно передать какое-то сообщение пользователю, к примеру:
>>> print('Your message here')
Параметры
Как было сказано, print()
можно вызывать без всяких аргументов при необходимости создать пустую строку, или указывать один аргумент для вывода сообщения. Кроме того, функция может принимать любое количество позиционных аргументов, разделяя их запятой, что очень удобно при необходимости объединения нескольких элементов.
Полная версия print выглядит так:
print(object1, object2, ..., sep=' ', end='n', file=sys.stdout, flush=False)
- *objects — объект/объекты которые необходимо вывести;
- sep — разделитель между объектами. В качестве своего значения можно передавать строку или None (по умолчанию пробел » «);
- end — символ в конце строки (по умолчанию перенос строки n);
- file — file-like объект [поток] (по умолчанию sys.stdout);
- flush — принудительный сброс потока [работает с версии Python 3.3] (по умолчанию False).
Пример использования функции print
Самый простой пример:
>>> print('Hello world')
Следующий пример – вывод строкового значения из переменной:
>>> message = 'Hello world'
>>> print(message)
Выведем разные типы:
>>> print('one', 'two', 'three') # str
one two three
>>> print(42) # int
42
>>> print(3.14) # float
3.14
>>> print(True) # bool
True
>>> print([1, 2, 3]) # list
[1, 2, 3]
>>> print({'red', 'green', 'blue'}) # set
{'red', 'green', 'blue'}
>>> print({'name': 'Alice', 'age': 42}) # dict
{'name': 'Alice', 'age': 42}
>>> print((1, 2, 3)) # tuple
(1, 2, 3)
Ниже — пример использования параметра sep
:
>>> print('hello', 'world', sep=None)
hello world
>>> print('hello', 'world', sep=' ')
hello world
>>> print('hello', 'world')
hello world
Если функция должна выводить аргументы в виде отдельных строк, можно передать символ экранирования:
>>> print('hello', 'world', sep='n')
hello
world
Более полезный пример — вывод аргументов в виде пути к файлу:
>>> print('home', 'user', 'documents', sep='/')
home/user/documents
Второй необязательный параметр — end.
Он позволяет предотвратить разрыв строки, когда выведенное сообщение не должно заканчиваться символом новой строки. Для этого передается пустая строка:
print('Checking file integrity...', end='')
print('ok')
Checking file integrity...ok
Как и в случае с sep
, end
можно использовать для объединения отдельных фрагментов в один большой. При этом вместо объединения аргументов текст из каждого вызова функции будет располагаться в одной строке:
>>> print('The first sentence', end='. ')
>>> print('The second sentence', end='. ')
>>> print('The last sentence.')
The first sentence. The second sentence. The last sentence.
При необходимости можно указывать одновременно два ключевых аргумента:
print('Mercury', 'Venus', 'Earth', sep=', ', end='!')
Mercury, Venus, Earth!
Еще одни параметры print()
— file
и flush
. В примере ниже реализована запись логов в файл порциями. С помощью параметра file
данные выводятся не на экран, а в файл. Flush
незамедлительно сбрасывает накопленный буфер в файл каждые 10 итераций.
import time
source_file = open('parse.txt', 'w')
for i in range(0, 30):
if i % 10 == 0 and i > 0:
print(f"iteration #{i}", file=source_file, flush=True)
else:
print(f"iteration #{i}", file=source_file)
time.sleep(1)
source_file.close()
Кодировка
Функция print()
в Python 3 и выше никак не контролирует кодировку символов — это определяется потоком кода. В большинстве случаев нет необходимости менять кодировку, так как по умолчанию используется UTF-8.
В Python 2 кодировка зависит от того, данные какого типа выводятся на экран. При выводе текста кириллицей рекомендуется указывать способ кодировки:
>>> print u'Привет'
>>> print "Привет".decode('utf-8')
Системную кодировку можно узнать через sys.stdout.encoding
:
>>> import sys
>>> sys.stdout.encoding
'utf-8'
Буферизация ввода-вывода
Буферизация (от англ. buffer) — способ организации обмена, который подразумевает использование буфера для временного хранения данных.
Блочная буферизация (block-buffered)
Операции ввода и вывода иногда буферизуются с целью повышения производительности. Рассмотрим пример:
import time
num_seconds = 1
for countdown in reversed(range(num_seconds + 1)):
if countdown > 0:
print(countdown, end="...")
time.sleep(1)
else:
print('Go!')
В качестве конца строки мы используем «…». В такой реализации функция print() будет накапливать строки в буфер, и выведет сразу весь результат после вызова print('Go!')
3...2...1...Go!
Линейная буферизация (line-buffered)
Линейная буферизация потока, перед началом ввода/вывода, ожидает момента, пока в буфере не появится разрыв строки. Изменив print() в примере выше на следующий:
print(countdown, end="n")
мы увидим последовательную печать на экран:
3
2
1
Go!
Небуферизированный вывод (unbuffered)
Unbuffered поток соответствует своему названию — никакой буферизации не происходит, операция ввода/вывода выполняются без промедления. Для этого достаточно переписать print()
из примера выше следующим образом:
print(countdown, end='...', flush=True)
Тем самым функция print()
принудительно очищает поток, не ожидая символа новой строки в буфере.
Стилизированный print
pprint
С помощью модуля pprint, который входит в стандартную библиотеку Python, можно более наглядно отображать некоторые объекты, при этом структура их сохраняется.
Один из примеров использования модуля — словарь со вложенными словарями:
from pprint import pprint
ifaces = [{
"name": "eth0",
"ip": "192.10.120.100",
"speed": 10000,
"options": {
"test1": {
"var1": True,
"var2": False,
},
"test2": True,
}
}]
pprint(ifaces)
вместо длинной строки будет отображен так:
[{'ip': '192.10.120.100',
'name': 'eth0',
'options': {'test1': {'var1': True, 'var2': False}, 'test2': True},
'speed': 10000}]
Есть необязательный параметр depth и indent. Depth указывает — ключи какого уровня вложенности отображать, скрытые уровни будут заменены на троеточие. Indent устанавливает размер отступов:
pprint(ifaces, depth=2, indent=2)
[ { 'ip': '192.10.120.100',
'name': 'eth0',
'options': {'test1': {...}, 'test2': True},
'speed': 10000}]
reprlib
Модуль reprlib позволяет использовать функцию repr()
, благодаря которой сокращается отображение глубоко вложенных или больших контейнеров, а также множества рекурсивных вызовов:
>>> import reprlib
>>> reprlib.repr([x**10 for x in range(5)])
'[0, 1, 1024, 59049, 1048576]'
json.dumps
Словари часто представляют собой данные JSON, широко используемые во всемирной сети. Для правильной стилизации словаря в строку JSON можно воспользоваться одноименным модулем, который имеет хорошие возможности печати:
import json
users = [{
"name": "Alex",
"age": "30",
"login": "alex89",
}, {
"name": "Petr",
"age": "25",
"login": "one_user1",
}]
print(json.dumps(users, indent=4, sort_keys=True))
результат:
[
{
"age": "30",
"login": "alex89",
"name": "Alex"
},
{
"age": "25",
"login": "one_user1",
"name": "Petr"
}
]
Цвет (управляющие коды ANSI)
Для выделения важной информации при выводе текста можно воспользоваться возможностью форматировать текст с помощью ANSI кодов. Это может выглядеть как «33[31m«, где 33 — указание на то, что дальше описывается управляющий код, [31m – задание красного цвета текста.
Пример:
def out_red(text):
print("33[31m {}".format(text))
def out_yellow(text):
print("33[33m {}".format(text))
def out_blue(text):
print("33[34m {}".format(text))
out_red("Вывод красным цветом")
out_yellow("Текст жёлтого цвета")
out_blue("Синий текст")
Чтобы такой вариант работал не только на Linux, но и на Windows, необходимо активировать поддержку ANSI для stdout в запущенной консоли, делается это так:
import ctypes
kernel32 = ctypes.windll.kernel32
kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
Анимация (прелоадеры)
Чтобы сделать интерфейс программы более привлекательным, можно анимировать его. Например, используя preloader, пользователь будет знать, что программа все еще работает.
Вращающееся колесо
Одним из примеров прелоадера является вращающее колесо, что указывает на незавершенную работу, когда точно не известно, сколько времени осталось до завершения запущенной операции. Часто такой прием используется во время загрузки данных с сети, устанавливая простую анимацию движения из последовательности нескольких символов, циклически повторяющихся:
from itertools import cycle
from time import sleep
for frame in cycle(r'-|/-|/'):
print('r', frame, sep='', end='', flush=True)
sleep(0.2)
Progress Bar
Если же время до завершения операции известно или же есть возможность определить процент выполнения задачи, можно установить анимированный прелоадер. В таком случае необходимо определить, сколько знаков «#» нужно отобразить и сколько пробелов вставить. После этого текст удаляется и строится сначала:
from time import sleep
def progress(percent=0, width=30):
left = width * percent // 100
right = width - left
print('r[', '#' * left, ' ' * right, ']',
f' {percent:.0f}%',
sep='', end='', flush=True)
for i in range(101):
progress(i)
sleep(0.1)
Best practice
Как убрать пробелы в print()
Многие начинающие Python разработчики забывают о том, что разделителем у функции print() по умолчанию является пробел (» «)
name = input()
print("Hello,", name, '!') # Hello, Alex !
Для удаления пробела, используйте параметр sep
:
print("Hello, ", name, '!', sep='') # Hello, Alex!
Python print to file (печать в файл)
При необходимости записать какой-то объект в файл можно воспользоваться стандартными возможностями функции print()
:
1 открыть нужный файл для записи, вовсе не обязательно создавать его вручную, следующий код сделает это автоматически:
sample = open('samplefile.txt', 'w')
2 записать нужное значение в открытый файл:
print("I'm starting to learn the language Python", file = sample)
3 закрыть файл после окончания операции:
sample.close()
В результате этого будет создан обычный текстовый файл с записанным значением, работать с которым можно будет точно так же, как и с созданным самостоятельно.
Таким образом, несмотря на свою кажущуюся простоту, стандартная функция для вывода print() имеет немало скрытых возможностей, некоторые из которых были рассмотрены.
В статье узнаем как в Python 3, с помощью встроенной функции print(), вывести текст на консоль. А для закрепления напишем небольшую программу.
Первая программа
По традиции первая программа должна выводить на экран консоли фразу “Hello World!”. Мы не будем отходить от традиции. Вот код этой программы:
print("Hello, World!")
Функция print() – это встроенная функция, то-есть она заранее определена. Используя Python 3 вы можете создавать и собственные функции.
Эта функция в качестве аргументов принимает строки и выводит их на консоль, или может сохранить их в файл. То есть мы попросили Python вывести на экран строку “Hello, World!”, что он и сделал:
$ python3 hello.py Hello, World!
Строка обязательно должна быть написана в кавычках!
Вывод нескольких строк
В предыдущем примере мы выводили только одну строку – “Hello, World!”. Но функция print() может принимать несколько аргументов и выводить несколько строк. Для этого строки разделяются с помощью запятой.
Вот пример кода:
print("Hello, World!", "Привет, Мир!")
А вот что делает этот код:
$ python3 hello.py Hello, World! Привет, Мир!
Необязательные параметры
Помимо строк функция print() может использовать необязательные параметры:
- sep – с помощью этого параметра вы можете указать разделитель строк. А по умолчанию в качестве разделителя используется пробел;
- end – этот параметр позволяет указать, что нужно добавить после последней строки. По умолчанию добавляется управляющий символ ‘n’ (перевод строки);
- file – по умолчанию функция print() выводит строки на консоль, а с помощью этого параметра можно поместить строки в файл.
Параметр sep
Следующий код выводит две строки и разделяет их символом перевода строки:
print("Hello, World!", "Привет, Мир!", sep='n')
Вот как это работает:
$ python3 hello.py Hello, World! Привет, Мир!
Параметр end
Если мы выводим две строки с помощью двух функций priint(), то они будут на разных строках. Это происходит потому что, по умолчанию, после каждой последней строки ставится знак перевода строки. Вот пример кода:
print("Меня зовут") print("Александр")
А вот его выполнение:
$ python3 hello.py Меня зовут Александр
А теперь используем параметр end и укажем что в конце строки нужно добавлять пробел:
print("Меня зовут", end=' ') print("Александр")
И выполним этот код:
$ python3 hello.py Меня зовут Александр
Параметр file
По умолчанию функция print() выводит информацию на консоль. А используя параметр file, мы можем поместить вывод в файл.
Работать с файлами мы пока не умеем, но в коде я оставил комментарии которые должны помочь его понять:
file = open('print.txt','a+') # открываем файл print("Hello, World!", file=file) # выполняем функцию print с сохранением в файл file.close() # закрываем файл
А теперь посмотрим как это сработает:
$ python3 hello.py $ cat print.txt Hello, World! $ python3 hello.py $ cat print.txt Hello, World! Hello, World!
При выполнении этого кода на экран консоли ничего не вывелось, так как текст был помещён вместо консоли в файл. Если файла нет, то он создастся. При этом файл не перезаписывается, а строка записывается в конец файла.
Вывод результатов арифметических операций
Функция print() позволяет в себя поместить другие функции или операторы. Например мы можем вывести результат арифметических операций:
print("5 + 2 =", 5+2) print("7 + 4 =", 7+4) print("3*(3+4) =", 3*(3+4))
Как вы могли заметить, математическую операцию (5+2) не нужно брать в кавычки. Так как, всё что в кавычках считается строкой а не операцией и не высчитывается.
Выполним этот код:
$ python3 hello.py 5 + 2 = 7 7 + 4 = 11 3*(3+4) = 21
Подробнее математические операции рассмотрим в отдельной статье.
Вывод значений переменных
Ну и конечно мы можем выводить значения переменных. Переменную, также как и операцию, не нужно брать в кавычки, вот пример кода:
a=6 b=8 print(a, "*", b, "=", a*b, sep='')
Я изменил разделитель, чтобы убрать пробелы.
Код написанный выше выполняется следующим образом:
$ python3 hello.py 6*8=48
Итоговый пример
И для закрепления материала давайте напишем и разберём такую программку:
# Для вывода строк используем функцию print() print("Привет!", "Сейчас посчитаем, сколько будет 6 * 8", sep='n') # Устанавливаем переменные a=6 b=8 # Производим вычисления print("Производим вычисления", end='... ') print(a, "*", b, "=", a*b, sep='') # И сохриним результат в файл file = open('print.txt','a+') print(a, "*", b, "=", a*b, sep='', file=file) file.close() print("Результат был записан в файл 'print.txt'") print("Выполните команду 'cat print.txt',", end=' ') print("чтобы посмотреть содержимое файла.")
Вот результат выполнения этой программы:
$ python3 hello.py Привет! Сейчас посчитаем, сколько будет 6 * 8 Производим вычисления... 6*8=48 Результат был записан в файл 'print.txt' Выполните команду 'cat print.txt', чтобы посмотреть содержимое файла. $ cat print.txt 6*8=48
В официальной документации встроенная в Python функция print() описана здесь.
Другие статьи по python доступны здесь.
Сводка
Имя статьи
Python 3. Вывод текста на консоль. Функция print()
Описание
В статье узнаем как в Python 3, с помощью встроенной функции print(), вывести текст на консоль. А для закрепления напишем небольшую программу
Разберем, как работают функции ввода и вывода данных — input()
и print()
в Python. Начнем с функции print()
.
Функция print()
выводит на экран или в файл все переданные в нее аргументы.
Синтаксис функции print()
print()
Полный синтаксис выглядит так:
print(*objects, sep=' ', end='n', file=sys.stdout, flush=False)
Аргументы функции:
objects
– объект, который нужно вывести, знак *
означает, что объектов для вывода может быть несколько.
sep
– разделяет объекты при выводе. По умолчанию: sep=' '
.
end
– это что выводится после вывода всех объектов, по умолчанию это перенос строки;
file
– служит для вывода в файл, ожидается объект с методом write (string). Если значение не задано, происходит вывод на экран;
flush
– если задано значение True
, поток принудительно сбрасывается. Значение по умолчанию: False
.
Примеры работы функции print()
Эта функция выводит все, что у нее в скобках:
print(1) print(1, 2, 3) print('текст') #1 #1 2 3 #текст
А также любые типы данных:
my_list = ['один', 'два', 'три'] my_bool = True a = 1234 print(my_list) print(my_bool) print(a) #['один', 'два', 'три'] #True #1234
И выражения:
a = 5 b = 5 print(1 + 2) print(a / b) print('hello' + ' ' + 'world') #3 #1.0 #hello world
Применение параметра sep в функции print()
Sep — сокращенно separator — разделитель (по умолчанию это пробел), с его помощью разделяем объекты вывода любыми символами и строками.
print(1, 2, 3, 4, sep=' | ') #1 | 2 | 3 | 4
print('https:/', 'fullstacker.ru', 'contacts', sep='/') #https://fullstacker.ru/contacts
print(1, 2, 3, 4, sep='n') #1 #2 #3 #4
Применение параметра end в функции print()
С его помощью можно предотвратить перенос строки в конце вывода, по умолчанию, как раз и стоит перенос строки, т.е. end='n'
. Или же просто добавлять что-то к выводимому объекту в конце.
print('сделаем вывод') print('в одну') print('строку') #сделаем вывод #в одну #строку
print('сделаем вывод', end=' ') print('в одну', end=' ') print('строку') #сделаем вывод в одну строку
Эти параметры можно совмещать:
a = 'На старт' b = 'внимание' c = 'марш' print(a, b, c, sep=', ', end='!') #На старт, внимание, марш!
Применение параметра file в функции print()
С помощью этого параметра мы можем вывести информацию не на экран, а в файл:
my_file = open('test.txt', 'w') print('Запишем строку в файл!', file = my_file) my_file.close()
В результате в файл test.txt будет записана строка Запишем строку в файл!
. Если файла test.txt не было, то он будет создан.
Вывод с помощью f-строк
Допустим нам нужно вывести что-то, что содержит в себе много переменных, стандартным способом это будет выглядеть так:
name = 'Роман' age = '7' level = '1' school = '6' print('Имя: ', name, '. ', 'Возраст: ', age, ' лет. Ученик ', level, ' класса. СОШ №', school, '.', sep='') #Имя: Роман. Возраст: 7 лет. Ученик 1 класса. СОШ №6.
Не очень удобно и код читается так себе.
В этом случае нам помогут f-строки. Перед объектом вывода ставим букву f и далее в фигурных скобках указываем переменные, которые нужно вывести:
name = 'Роман' age = '7' level = '1' school = '6' print(f'Имя: {name}. Возраст: {age} лет. Ученик {level} класса. СОШ №{school}.') #Имя: Роман. Возраст: 7 лет. Ученик 1 класса. СОШ №6.
Так гораздо удобнее.
Функция ввода input()
За ввод пользовательских данных с клавиатуры в Python отвечает функция input()
.
Синтаксис
input([prompt])
Когда интерпретатор доходит до функции input()
, выполнение программы останавливается и ожидается ввод данных от пользователя.
Пользователь вводит данные, нажимает Enter
, программа продолжает по алгоритму.
Пример работы функции input()
name = input() print(f'Привет, {name}!') #Саша #Привет, Саша!
С клавиатуры мы вводим Саша, эта информация присваивается переменной name
и далее Python функцией print()
выводит приветствие, используя переменную с веденными ранее данными.
У функции input()
есть необязательный параметр prompt
— он служит подсказкой и отображается перед вводом данных:
name = input('Введите свое имя: ') print(f'Привет, {name}!') #Введите свое имя: Александр #Привет, Александр!
Теперь при вводе данных будет написано Введите свое имя:
и далее переложение ввести имя.
Преобразование вводимых данных input()
Я уже писал подробно о типах данных в Python, здесь разберем только преобразования в input().
По умолчанию, все данные, которые вводятся через функцию print()
— строки:
a = input() print(type(a)) #10 #<class 'str'>
Даже если мы введем числа, то это будут строки, и работать с ними как с числами мы не сможем:
a = input() b = input() print(a + b) #1 #2 #12
Мы ввели числа 1 и 2, далее функцией print()
хотели вывести сумму чисел, но получили 12. Все потому, что это строки и происходит конкатенацией или объединением, вместо числового сложения.
Для преобразования строк в числа нужно пользоваться функциями.
Input() → int преобразование в целое число
Для того, чтобы получить целое число, введенное в функцию ввода данных, нужно пользоваться функцией int()
:
a = int(input()) b = int(input()) print(a + b) #1 #2 #3
Мы ввели числа, 1 и 2, как и в предыдущем примере, но с помощью функции int()
мы преобразовали их в числа и в итоге получили сумму этих чисел.
Input() → float преобразование в дробные числа (вещественные)
Для этого используем функцию float()
, также, как и в предыдущем примере:
a = float(input()) b = float(input()) print(a + b) #1.5 #2.5 #4.0
Задачки на использование input() и print()
Рассмотрим практическое применение этих функций на простых задачах.
Рассчитаем периметр прямоугольника
Пользователю необходимо ввести длину и ширину прямоугольника (целые числа), на выходе рассчитать периметр прямоугольника:
width = int(input('Введите длину прямоугольника: ')) height = int(input('Введите ширину прямоугольника: ')) p = (width + height) * 2 print(f'Периметр прямоугольника: {p}') #Введите длину прямоугольника: 10 #Введите ширину прямоугольника: 20 #Периметр прямоугольника: 60
С помощью функции input()
получаем данные от пользователя, преобразуем их функцией int()
в целые числа и присваиваем переменным width
и height
.
По формуле периметра прямоугольника P=(a+b)*2
, вычисляем периметр и присваиваем это значение в переменную p
.
Выводим результат с помощью функции print()
.
Предложить пользователю решить пример
Есть пример 4 * 100 — 100, получить ответ от пользователя и сравнить с правильным.
print('Решите пример 4 * 100 - 100') a = int(input('Ваш ответ: ')) if a == 300: print('Ответ правильный, 4 * 100 - 100 = 300') else: print(f'Ответ {a} неверный. Правильный ответ: 4 * 100 - 100 = 300') #Решите пример 4 * 100 - 100 #Ваш ответ: 300 #Ответ правильный, 4 * 100 - 100 = 300
Первой функцией print()
выведем пример и предложим его решить. Далее запрашиваем ответ с помощью функции input()
, приводим его к целому числу и присваиваем переменной a
.
Создаем условие, если ответ пользователя правильный — выводим Ответ правильный, 4 * 100 - 100 = 300
, если ответ пользователя неправильный, то выводим его ответ и показываем правильный.
Все ответы на этот курс по модулям (кликабельно).
Ответы на задачи из модуля 2.3 «Поколение Python»: курс для начинающих. Нумерация сквозная и идет именно по задачам.
Предыдущий модуль 2.2 «Поколение Python».
Первые три вопроса
1. Что будет выведено на экран в результате выполнения следующего кода?
print('31', '12', '2019', sep='-')
Ответ: 31-12-2019
2. Что будет выведено на экран в результате выполнения следующего кода?
print('Mercury', 'Venus', sep='*', end='!')
print('Mars', 'Jupiter', sep='**', end='?')
Решение: Mercury*Venus!Mars**Jupiter?
3. Сколько строк будет распечатано в результате выполнения следующего кода?
print('a', 'b', 'c', sep='*')
print('d', 'e', 'f', sep='**', end='')
print('g', 'h', 'i', sep='+', end='%')
print('j', 'k', 'l', sep='-', end='n')
print('m', 'n', 'o', sep='/', end='!')
print('p', 'q', 'r', sep='1', end='%')
print('s', 't', 'u', sep='&', end='n')
print('v', 'w', 'x', sep='%')
print('y', 'z', sep='/', end='!')
Примечание. Последовательность символов n
задает перевод строки.
Ответ: 5.
Четвертый номер:
I like Python
Напишите программу, которая выводит на экран текст «I***like***Python» (без кавычек).
Примечание. Используйте необязательный параметр
sep
.Sample Input:
Sample Output:
I***like***Python
Решение:
# put your python code here
print('I','like','Python', sep='***')
Пятая задача:
Кастомный разделитель
Напишите программу, которая считывает строку-разделитель и три строки, а затем выводит указанные строки через разделитель.
Формат входных данных
На вход программе подаётся строка-разделитель и три строки, каждая на отдельной строке.Формат выходных данных
Программа должна вывести введённые три строки через разделитель.
Код:
# put your python code here
a=input()
b=input()
c=input()
d=input()
print(b, c, d, sep=a)
Шестая задача:
Приветствие
Напишите программу, которая приветствует пользователя, выводя слово «Привет» (без кавычек), после которого должна стоять запятая и пробел, а затем введенное имя и восклицательный знак.
Формат входных данных
На вход программе подаётся одна строка — имя пользователя.Формат выходных данных
Программа должна вывести текст в соотвествии с условием задачи.Примечание 1. Перед восклицательным знаком не должно быть пробелов.
Примечание 2. Используйте необязательный параметр
end
.
Ответ:
name=input()
print('Привет,', name, end='!')
Пять последних вопросов
7. Какие из имён допустимы для названия переменных в Python?
Ответ: teacher teacher2 teacher_2
8. Что покажет приведенный ниже фрагмент кода?
language = 'Python'
language = 'Pascal'
print(language)
Результат: Pascal
9. Какое значение будет находиться в переменной s1
после выполнения следующего кода?
s1 = 'C++'
s2 = 'Python'
s3 = 'Java'
s3 = s2
s1 = s3
Результат: Python
10. Выберите строки кода, соответствующие стандарту PEP 8.
Примечание. Будьте внимательны с пробелами.
Ответы:
- print(‘Follow PEP8!’)
- print(‘Follow’, ‘PEP8!’)
- print(‘Follow’, ‘PEP8′, sep=’**’)
- name = input()
11. Что будет напечатано в результате выполнения следующей программы?
# print('Java')
# print('Ruby')
# print('Scala')
print('Python', end='+') # print('C++')
# print('GO')
print('C#', end='=') # print('C')
print('awesome')
# finish
Правильный текст: Python+C#=awesome
Решение модуля 2.4 «Поколение Python»
Процесс проверки ПО на соответствие требуемому качеству работы.
- Тестирование
- Моделирование
- Алгоритмизация
Графическое представление программы.
- Компилятор
- Блок-схема
- Информационная модель
Правила толкования и выполнения команд или конструкций языка программирования?
- Семантика
- Синтаксис
- Процедура
Выделите правильные утверждения
- Языки низкого уровня называются машинно-зависимыми.
- Алфавит — набор символов, образующих команды и конструкции программы
- Переменные — зарезервированные данные
- Модуль random описывает математические функции
Как называется инструкция, которая определяет данные соответствующие переменной?
- Инструкция присваивания
- Инструкция определения
- Инструкция цикла
Как называется типизация, при которой тип данных в переменной может автоматически изменяться в ходе исполнения программы?
- Дружественная
- Динамическая
- Резервная
Что может выступать в качестве операндов?
- Литералы
- Выражения
- Операции
- Переменные
Какое значение будет у переменной val после выполнения инструкции val = 3 ** 4 — 2
- 3
- 10
- 79
Что будет выведено на экран в результате выполнения инструкции print (2, a, 8)?
- 2 a 8
- 2, a, 8
- 10
Какая символьная строка будет сформирована в результате выполнения инструкции s = {:5d}.format (8)?
- 5
- 8
- ____8
Как называется принцип, согласно которому ввод и вывод данных в программе должны сопровождаться
поясняющими сообщениями и подсказками?
- Понятность программы
- Полезность программы
- Дружественность пользовательского интерфейса
- Ясность пользовательского интерфейса
Выберите инструкцию, присваивающую переменной a значение, введнное пользователем с клавиатуры.
- print (a)
- input (a)
- input ()
Функция abs (x) вернула значение 4. Укажите возможные значения x.
- 2
- 4
- -4
- 16
Какой результат операции -9 5.
- -1
- 1
- -2
Как называются модуль, в котором описаны функции генерации случайных чисел?
- random
- math
- pi
Запишите вызов функции квадратного корня от переменной a при условии, что ранее была записана инструкция import math.
- math.abs(a).
- math.asg(a).
- math.sqrt(a)
Какое утверждение является ложным
- Язык программирования — это искусственный язык для разработки программ
- Транслятор преобразует машинный код в программный.
- Команда- указание, которое определяет действие.
Непроцедурные языки программирования делятся на…
- Языки высокого и низкого уровня
- Декларативные и объектно-ориентированные
- Логические и ассемблеры
Что означает фраза: Python — интерпретируемый язык программирования.
-
Программы записываемые на данном языке программирования при каждом выполнении построчно переводятся в двоичный код
и выполняются сразу после перевода - Язык программирования соответствует стандартам ASCII, ISO
-
Компилятор читает код, написанный на языке программирования, преобразует описанные команды и конструкции языка
в исполняемый машинный код
Определите порядок выполнения операций в указанной инструкции?
- 5; 4; 3; 2; 1
- 1; 2; 5; 3; 4
- 5; 4; 2; 1; 3