Как вывести текст и переменную в python
Перейти к содержимому

Как вывести текст и переменную в python

  • автор:

Ввод, вывод и переменные в python

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

Традиционно, первой программой на любом языке программирования становится «Hello, world!». Такая программа просто запускается и говорит миру — «привет!».

Чтобы написать нашу первую программу, зайдите в меню IDLE и смело выбирайте File -> New File . В появившемся новом пустом окне введите команду:

print("Hello, world!")

Затем нажмите Run -> Run Module и сохраните ваш файл в удобном для вас месте на диске. Лучше всего сделать отдельную папку для программирования и в ней отдельные подпапки для каждой главы. Результат работы программы появится в основном окне IDLE.

Вау! Ты только что написал свою первую программу! ��

Используем print для вывода информации

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

Одна команда — одна строка. Если на одной строке (одной командой) нужно вывести несколько чисел, строк или переменных, их нужно разделять запятыми.

print("Можно выводить код на разных строках!") print("Очень удобно! А еще можно сделать пустую строку. ") print("") print(100 + 1, "долматинец", " - можно разделять части вывод")
Можно выводить код на разных строках! Очень удобно! 101 долматинец - можно разделять на части вывод

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

Переменные в python

Как вы помните, если мы хотим что-то временно сохранить, нам нужна переменная.

Переменная — это именованный участок оперативной памяти, предназначенный для хранения значения определенного типа (целое число / действительное число / текст. ). В прочем, питон сам определяет тип переменной, вам нужно указать только ее имя.

Для создания переменной нужно просто написать ее имя и что-либо в нее положить, для чего используется оператор присваивания ( = ).

name = "Ростислав" print("Меня зовут ", name, ".")
Меня зовут Ростислав.

Названия переменных могут состоять из латинских букв и цифр, а также символа _ , но не могут начинаться с цифры.

Формально, можно использовать и русские символы, но так обычно не делают. Обрати внимание, в коде выше, чтобы вывести текст, мы выделили его в кавычки, а чтобы переменную — написали ее имя без кавычек.

Кавычки могут быть как «двойными» , так и ‘одинарными’ , главное чтобы в начале и в конце текста стояли одинаковые кавычки.

Используем input для общения с пользователем

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

number = input('Сколько котов вы хотите купить? ') print('Отгружаем вам ', number, "котов!")
Сколько котов вы хотите купить? 40 Отгружаем вам 40 котов!

Если ввести нужно числа, а не строку (т.е. проводить с результатами операции, как с числами):, то результат надо преобразовать в число.

Код:

width = int(input('Введите ширину участка: ')) height = int(input('Введите высоту участка: ')) print('Площадь: ', width * height)

Результат:

Введите ширину участка: 20 Введите высоту участка: 5 Площадь: 100

Аналогично с помощью функции str можно преобразовать число в строку. Но, погодите, зачем это нужно? Что будет, если не использвоать int ? Попробуй запустить вот этот код.

s = input() print(s * 10)

Результат:

Что произошло?! Ведь 10 на 10 — это 100, а совсем не то, что выдал питон! А если вот так?

s = input() print(s + 10)

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

Текст ошибки может быть очень длинным, но на самом деле пока нам важна только последняя строка TypeError: can only concatenate str (not «int») to str . Если попробовать перевести ее в переводчике, получится что-то вроде Ошибка типа: можно соединять только str (строки) и str (строки), но не «int» (это целое число). .

Дело в том, что по-умолчанию питон считает, что мы вводим именно строку. Именно поэтому при умножения десятка повторилась 10 раз, а не умножилась на 10, а при сложении вообще все сломалось. Чтобы работать с введенными данными, как с числами, их нужно превратить в числа.

s = int(input()) print(s + 10)

Теперь все будет работать как задумано. Кстати, а попробуй сложить две строки, будет работать? Для тренировки напиши программу, которая спрашивает у пользователя, как его зовут, а потом здоровается с ним по имени.

Как вас зовут? Ростислав Добрый вечер, Ростислав!
Что выводит программа? Что нужно ввести?
Как вас зовут?
Добрый вечер, Инна!
Инна
Как вас зовут?
Добрый вечер, Павел!
Павел

Доступные операции с переменными

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

a = 10 # теперь в переменной a лежит число 10 b = 20 # а в переменной b лежит число 20 a = a + 5 # a теперь равно 15 a = a + b # a равно 35 a = a - 20 # a равно 15 a = a * 2 # a равно 30 a = b / 2 # a равно 10.0 b = a % 4 # b равно 2, этот оператор возвращает остаток от деления a = a // 3 # целочисленное деление, а рано 3 b = b ** 3 # возведение в степень, b равно 8

Используя эти операции, а также функции input и print , решите задачи, приведенные в этом разделе.

Создаем линейный квест

Кажется, сейчас у нас есть все, чтобы создать линеный квест!

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

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

Кстати, для нагнетения обстановки можно вместо нажатий Enter добавить задержку. Например, персонаж какое-то время пытается открыть дверь или ожидается итог напряженной схватки. Сделать это можно, используя встроенный модуль time (мы с тобой уже знакомы с модулем math ). Пример его использования ниже.

import time print("Сейчас будет перерыв 10 секунд.") time.sleep(10) print("10 секунд прошло, работаем дальше. ")

Попробуй оба варианта, сначала с input(), а потом с задержками. Как только заработает, можно смело хвастаться, что у тебя получился линейный квест! ��

Вывод переменных в одной строке

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

Отслеживать
12.5k 7 7 золотых знаков 19 19 серебряных знаков 48 48 бронзовых знаков
задан 12 мая 2021 в 23:10
Денис Очеретнюк Денис Очеретнюк
11 1 1 серебряный знак 3 3 бронзовых знака

как вывести число 1 поделенное на число 2 и ответ – но ответ это и есть число 1 поделенное на число 2. В чём проблема? И да, если бы Вы прочитали справку, прежде чем писать вопрос, Вы бы знали, что нужно подробно описать желаемое поведение программы и то, которое есть сейчас.

13 мая 2021 в 1:46
14 мая 2021 в 8:16

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

number1 = int(input("Введите первое число: ")) print(f"Вы ввели: ") number2 = int(input("Введите первое число: ")) print(f"Вы ввели: ") try: result = number1 / number2 print(f"Результат деления = ") except ZeroDivisionError as e: print(f"Поделить невозможно ") 

Отслеживать
ответ дан 13 мая 2021 в 0:21
Mikhail Sharaborin Mikhail Sharaborin
94 4 4 бронзовых знака

спасибо за помощь, подскажите что значит эта строка, с ней я ещё не сталкивался. except ZeroDivisionError as e:

13 мая 2021 в 10:08
@ДенисОчеретнюк except — механизм исключений
13 мая 2021 в 10:15

Если я правильно понял «как вывести число 1 поделенное на число 2 и ответ», и нужно в одной строке указать и делимое, и делитель, и результат, тогда так:

number_1 = int(input('Введите первое число:')) number_2 = int(input('Введите второе число:')) if number_2: result = number_1 / number_2 print(f'Результат деления на равен ') else: print('Поделить на 0 невозможно') 
Введите первое число:>? 3 Введите второе число:>? 2 Результат деления 3 на 2 равен 1.5 

и при number_2 равном 0:

Введите первое число:>? 42 Введите второе число:>? 0 Поделить на 0 невозможно 
  • if number_2: отработает, если number_2 не равен 0;
  • для вывода используйте f-строки, в которых укажите переменные

Как вывести текст и переменную в python

Сегодня я познакомлю вас с более сложным способом вывода текста в Питоне – через переменные.

То есть командой print мы будем выводить не текст в виде

print u”Здесь какой-то текст”

А мы будем сначала все данные для вывода присваивать переменным. Числа и слова мы присвоим сначала переменным, а потом выведем их в виде команд print .

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

Практический пример

Создаем на рабочем столе файл test7.py Сохраняем его в правильной кодировке (подробнее о кодировке файлов в Python 2.7). Пишем в него руками следующий программный код:

# -*- coding: utf- 8 -*- a = 11 b = 12 c = 13 d = 14 e = u"Книга о приключениях Остапа Бендера называлась: " f = u"или" g = u"стульев." h = u"Какой ответ правильный?" k = u"Правильный ответ: " m = k + u"%d" % b print u"%s %d, %d, %d %s %d %s" % (e, a, b, c, f, d, g) print h print m + g

Как видите, в этом коде я не только ввел разные переменные (если забыли, повторяем урок про переменные), но и операторы форматирования (повторяем урок про операторы форматирования). А поскольку мы все-таки выводим кириллический текст, то когда присваиваем его переменным, не забываем вводить букву u и ставить кавычки.

Теперь открываем программу PowerShell и прописываем команду python desktop/test7.py

У вас должно получиться следующее:

Как мы видим, в итоговом варианте вывода на экран компьютера выводится обычный текст.

Домашнее задание

Поменяйте в коде значения переменных. Например, введите другие числа – 110, 111, 158 и 199. И посмотрите, что получится. Или введите новое название книги или фильма – «101 далматинец», или «38 попугаев». Вводите разные значения переменных и смотрите, что в итоге получается в программе PowerShell.

Важно

Обязательно пропишите комментарии к каждой строке программного кода. А именно: что происходит в данной строке, для чего мы прописали те или иные команды или что сделали (присвоили значение переменной).

Эти комментарии нужны именно вам для понимания процесса программирования – зачем мы присваиваем или прописываем тот или иной код. Это важно на данном этапе обучения, так как потом эти знания будут нужны для более сложных разделов программирования.

Подробнее про комментарии в коде — ЧИТАТЬ.

В следующем уроке выучим что такое и зачем нужны команда \n и тройные кавычки — перейти в урок 13.

  • Вы здесь:
  • Главная
  • Python 2.7 с нуля
  • Урок 12. Вывод строк и текста в Питоне через переменные

Переменные в Python: что это такое и какие они бывают

Как хранить данные в Python, чтобы обращаться к ним было легко и приятно.

Иллюстрация: Оля Ежак для Skillbox Media

Иван Стуков

Иван Стуков
Журналист, изучает Python. Любит разбираться в мелочах, общаться с людьми и понимать их.

Если вы откроете любую программу в Python, то, скорее всего, увидите много таких равенств:

Как давать имена переменным

Создавая переменную на языке Python, программисты придумывают ей названия по определённым правилам именования:

  • первый символ должен быть заглавной или строчной латинской буквой или нижним подчёркиванием _;
  • остальные символы могут быть заглавными или строчными латинскими буквами, нижними подчёркиваниями и цифрами;
  • нельзя использовать пробелы;
  • имя переменной не должно совпадать ни с каким из зарезервированных в Python ключевых слов .

Приведём несколько примеров.

  • Какие имена можно давать переменным: x, X, xyz, _x_y_z, XYZ, xyz_123, _123, x1Y2z2.
  • Как нельзя называть переменные: 1, 1x, x y z, x&y.

Python чувствителен к регистру. Таким образом, name и Name будут считаться разными переменными.

Хотя переменные можно называть именами стандартных библиотечных функций, делать так не стоит — это закроет доступ к функции:

В любой момент мы можем присвоить переменной новое значение. Тогда она станет ссылаться на другой объект:

x = 1.2 y = 'строка'

Теперь x и y ссылаются на другие объекты с другими адресами. И так как больше ни одна переменная не ссылается на объект по адресу 2056817043856, то его автоматически удалит сборщик мусора.

Множественное присваивание значений

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

x = y = z = 4
print(x, y, z) >>> 4 4 4

Для присвоения разных значений тоже есть способ:

x, y, z = 1, 'игрек', ['список', 'со', 'строками'] print(x, y, z) >>> 1 игрек ['список', 'со', 'строками']

Импорт переменных

Если переменную нужно импортировать из другого файла, то используют конструкцию from import .

Например, у нас есть файл variables1.py:

name = 'Виктория' age = 23 city = 'Москва'

Используем переменную name в файле variables2.py:

from variables1 import name print(name) >>> Виктория

При этом доступа к другим переменным из variables1.py в таком случае нет:

from variables1 import name print(age) >>> NameError: name 'age' is not defined

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

from variables1 import name, age print(name, age) >>> Виктория 23

Для импорта всех объектов после import ставят звёздочку *:

from variables1 import * print(name, age, city) >>> Виктория 23 Москва

Удаление переменных

Чтобы удалить переменную, используют ключевое слово del:

x = 4 del x print(x) >>> NameError: name 'x' is not defined

Типы переменных в Python

Все переменные существуют внутри определённой области видимости. В Python их три:

  • локальная — внутри одной функции;
  • глобальная — внутри целой программы (py-файла);
  • нелокальная — внутри двух смежных функций (внутренней и внешней).

Переменные, которые принадлежат к той или иной области видимости, образуют её пространство имён.

Локальные переменные

Любые переменные, которые объявлены внутри функции, остаются только в этой функции. Например:

def local_namespace(): x = 4 x = x ** 2 return x print(local_namespace()) >>> 16

Мы можем, как обычно, распоряжаться x: изменять значение, проводить операции, возвращать — но только до тех пор, пока мы делаем это внутри функции local_namespace().

Если мы решим обратиться к x где-то в другой части программы, то интерпретатор её просто не увидит:

def local_namespace(): x = 4 x = x ** 2 return x print(x) >>> NameError: name 'x' is not defined

И наоборот: функция может распоряжаться только теми переменными, которые находятся внутри неё:

x = 4 def local_namespace(): x = x ** 2 return x print(local_namespace()) >>> UnboundLocalError: local variable 'x' referenced before assignment

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

x = 4 def local_namespace(): y = x ** 2 return y print(x) print(local_namespace()) >>> 4 >>> 16

В итоге внутри одной программы может быть сразу несколько переменных с одним и тем же именем. Для этого они должны находиться в разных пространствах имён:

x = 0 def local_namespace(): x = 4 x = x ** 2 return x print(x) print(local_namespace()) >>> 0 >>> 16

Глобальные переменные

Любая переменная, которую объявляют вне функций, является глобальной. Она существует в пространстве имён всего py-файла.

Как мы показали выше, к ней можно обратиться внутри функции, но нельзя изменять. Чтобы исправить это, существует ключевое слово global:

x = 4 def local_namespace(): global x x = x ** 2 return x print(local_namespace()) >>> 16

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

def local_namespace(): global x x = 4 return x print(local_namespace()) print(x) >>> 4 >>> 4

Нелокальные переменные

Нелокальные переменные используются, когда одна функция вложена в другую, и охватывают пространство имён только этих двух функций.

Их создают с помощью ключевого слова nonlocal.

def nonlocal_namespace(): x = 4 def local_namespace(): nonlocal x x = x ** 2 return x return local_namespace() print(nonlocal_namespace()) >>> 16

При этом в глобальной области видимости к нелокальной переменной мы обратиться не можем:

def nonlocal_namespace(): x = 4 def local_namespace(): nonlocal x x = x ** 2 return x return local_namespace() print(x) >>> NameError: name 'x' is not defined

Проверка существования переменной

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

Ключом в этих словарях является строка с именем переменной — так можно проверить её существование:

name = 'Виктория' if 'name' in globals(): print(True) >>> True

Также из этого словаря по имени переменной можно достать её значение:

name = 'Виктория' if 'name' in globals(): print(globals().get('name')) >>> Виктория

Точно так же можно делать и в локальной области видимости:

def local_namespace(): name = 'Виктория' if 'name' in locals(): print(locals().get('name')) local_namespace() >>> Виктория

Максимально возможное значение переменной

В Python, в отличие от многих других языков программирования, нет особого типа данных для хранения больших чисел. Все целые числа относятся к классу int, все числа с плавающей запятой — к классу float.

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

Печать одиноких и множественных переменных

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

name, age, city = 'Виктория', 23, 'Москва' print(name) print(name, age, city) >>> Виктория >>> Виктория 23 Москва

Также в Python можно форматировать печать переменных. Для этого предусмотрено несколько способов, но самый удобный из них — f-строки. Нужно передать функции print() строку c буквой f перед ней. Сами переменные указываются в фигурных скобках: .

name, age, city = 'Виктория', 23, 'Москва' print(f'Имя: . Возраст: . Город: .') >>> Имя: Виктория. Возраст: 23. Город: Москва.

Итоги

  • Переменные в Python состоят из имени и значения. При этом они хранят в себе не само значение, а ссылку на его адрес в памяти.
  • Для их именования используют цифры (не могут быть первым символом в имени), латинские буквы и нижние подчёркивания.
  • В Python не надо отдельно объявлять переменную — ей сразу присваивают значение. В одной строке можно создать сразу несколько переменных.
  • Они существуют внутри определённой области видимости. Переменные бывают глобальные (внутри всей программы), локальные (внутри одной функции) и нелокальные (внутри двух вложенных друг в друга функций).
  • У переменных в Python нет ограничения по размеру — они могут быть настолько большими, насколько хватит памяти устройства.
  • Их можно импортировать из других файлов, удалять, проверять их существование в текущей области видимости, печатать в форматированной строке.

Читайте также:

  • Типы данных в Python для начинающих: какие бывают и как с ними работать
  • Тест: что ты знаешь о создателе Python Гвидо ван Россуме?
  • Пишем десктоп-приложение на Python с помощью Tkinter

Вот их список: and, as, assert, async, await, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield.

Целое число, число с плавающей запятой, строка, список, словарь и так далее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *