Вывести на экран три введенных с клавиатуры числа в порядке обратном их вводу python
Все существующие программы и приложения так или иначе взаимодействуют с пользователем. Для этого они получают от пользователя данные, обрабатывают их и выводят что-то в ответ. В приложениях, не взаимодействующих с пользователем, нет смысла.
В Python встроены мощные инструменты для форматированного ввода и вывода, достаточные для реализации взаимодействия с пользователем в полноценном приложении.
Получение данных input
Получение данных — один из важнейших компонентов любой программы. Например, простой калькулятор получает данные от пользователя, когда тот вводит с клавиатуры числа, нажимает на элементы интерфейса калькулятора, даже вставляет скопированное выражение.
Если выполнить данный код в интерактивном режиме в IDLE, курсор переместиться новую строку и программа будет ожидать ввода данных, которые будут записаны в переменную a .
Кроме того, оператор input() позволяет перед запросом ввода вывести какой-либо текст, например:
Таким образом можно дать подсказку пользователю, что нужно ввести. В отличие от строго типизированных языков программирования Python позволяет вводить любые типы данных без их явного указания. То есть пользователь может ввести как строку, так и число. Синтаксис команды ввода от этого не изменится.
Однако, часто нужно получить данные определенного типа, например, калькулятор ожидает число, а пользователь вводит строку. Для этого используется приведение типа, в данном случае к целочисленному:
Если пользователь введет строку или дробь, интерпретатор Python возбудит исключение. Поэтому для ввода используют оператор try-except:
Дополнительно про проверку, введено ли число, можно прочитать в отдельной статье.
Также можно запрашивать ввод в бесконечном цикле, выход из которого осуществляется только тогда, когда пользователь вводит данные нужного типа:
Вывод данных print
Вывод используется не только для отображения данных на экране, но и для перенаправления вывода одной программы на ввод другой, или для записи вывода в файл и т. д.
Для вывода данных в Python используется функция print(). С её помощью можно выводить строки, числа, последовательности. Её синтаксис выглядит так:
Интерпретатор Python также позволяет передавать в print() другую функцию:
В этом случае функция sum посчитает сумму аргументов и вернёт результат. Этот результат будет выведен с помощью print в консоль.
В print() можно передать несколько аргументов:
Кроме того, если нужно сделать красивое оформление вывода разными цветами, то можно воспользоваться библиотекой colorama или termcolor. Подробно про цветной вывод описано в отдельной статье на сайте.
Пример программы
Приведём пример консольной программы, которая выполняет операции над числами. То есть осуществляет ввод и вывод данных в консоль на Python 3. Мы вводим два числа, выбираем операцию, которую надо совершить над ними: сложение, вычитание, умножение или деление. Программа вычисляет результат и выводит его.
Вот пример работы:
Таким образом у нас получился консольный калькулятор. Как было написано выше, для красоты можно сделать ввод и вывод цветным, меняя цвет фона и вводимых символов.
Также на нашем сайте есть пример калькулятора с графическим интерфейсом. Для этого в ней была использована библиотека Tkinter.
Это самый часто задаваемый вопрос по программированию на собеседовании. Напишем программу, которая берет номер входа и меняет его в обратном порядке. Мы можем перевернуть целое число в Python, используя разные методы:
- использование цикла while;
- применение рекурсии.
Обращение числа с помощью цикла while
Во-первых, разберемся в алгоритме этой программы. Это позволит легко понять логику программы. Как только вы усвоите логику, вы сможете писать программу на любом языке, а не только на Python.
Реализуем описанный выше алгоритм в программе.
Разберемся в этой программе шаг за шагом.
Мы инициализировали числовую переменную для пользовательского ввода и начальное значение переменной revs_number равно нулю.
Первая итерация
Reminder = number % 10Reminder = 12345% 10 = 5
Reverse = Reverse * 10 + Reminder Начальное значение revs_number равно нулю
Reverse = 0 * 10 + 5 = 0 + 5 = 5
Number = Number // 10
Number = 1234 // 10 = 1234 // Теперь цикл будет повторять это число.
Вторая итерация
Reminder = Number% 10Reminder = 1234% 10 = 4
Reverse = Reverse * 10 + Reminder = 5 * 10 + 4
Reverse = 50 + 4 = 54
Number = Number // 10 = 12345 // 10
Третья итерация
Начиная со второй итерации, значения Number и Reverse были изменены на: number = 123 и revs_number = 54.
Reminder = Number% 10Reminder = 123% 10 = 3
Reverse = Reverse * 10 + Reminder = 54 * 10 + 3
Reverse = 540 + 3 = 543
Number = Number // 10 = 123 // 10
Четвертая итерация
Reminder = number% 10Reminder = 12% 10 = 2
Reverse = Reverse * 10 + Reminder= 543 * 10 + 2
Reverse = 5430 + 2 = 5432
Number = Number // 10 = 12 // 10
Пятая итерация
Reminder = number% 10Reminder = 1% 1 0 = 1
Reverse = Reverse * 10 + Reminder = 5432 * 10 + 1
Reverse = 54320 + 1 = 54321
Цикл while завершается в случае обнаружения ложного результата в качестве логического. Вы можете ввести другое число и проверить результат.
Использование рекурсии
Рассмотрим следующий пример.
Логика одинакова в обеих программах, поняв ее, вы легко сможете сделать это самостоятельно.
Введение
При изучении любого языка программирования очень важно много практиковаться. В этом уроке Вы найдёте различные задачи, которые помогут Вам развить алгоритмическое мышление.
I like Python
Напишите программу, которая выводит на экран текст «I***like***Python» (без кавычек).
Управляемый разделитель
Напишите программу, которая считывает строку-разделитель и три строки, а затем выводит указанные строки через разделитель.
Сумма трёх чисел
Напишите программу, которая считывает три целых числа и выводит на экран их сумму. Каждое число записано в отдельной строке.
Следующее и предыдущее
Напишите программу, которая считывает целое число, после чего на экран выводится следующее и предыдущее целое число с пояснительным текстом.
Разделяй и властвуй
Напишите программу, которая считывает целое положительное число xx и выводит на экран последовательность чисел x, 2x, 3x, 4x, 5x, разделённых тремя черточками.
Расстояние в метрах
Напишите программу, которая находит полное число метров по заданному числу сантиметров.
Сама неотвратимость
Безумный титан Танос собрал все 6 камней бесконечности и намеревается уничтожить половину населения Вселенной по щелчку пальцев. При этом если население Вселенной является нечетным числом, то титан проявит милосердие и округлит количество выживших в большую сторону. Помогите Мстителям подсчитать количество выживших.
Пересчет временного интервала
Напишите программу для пересчёта величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах.
Трехзначное число
Напишите программу, в которой рассчитывается сумма и произведение цифр положительного трёхзначного числа.
Четырёхзначное число
Напишите программу для нахождения цифр четырёхзначного числа.
Пароль
При регистрации на сайтах требуется вводить пароль дважды. Это сделано для безопасности, поскольку такой подход уменьшает возможность неверного ввода пароля.
Напишите программу, которая сравнивает пароль и его подтверждение. Если они совпадают, то программа выводит: «Пароль принят», иначе: «Пароль не принят».
Четное или нечетное?
Напишите программу, которая определяет, является число четным или нечетным.
Роскомнадзор
Напишите программу, которая определяет, разрешен пользователю доступ к интернет-ресурсу или нет.
Формат входных данных
На вход программе подаётся целое число — возраст пользователя.
Формат выходных данных
Программа должна вывести текст «Доступ разрешен» если возраст не менее 18, и «Доступ запрещен» в противном случае.
Арифметическая прогрессия
Напишите программу, которая определяет, являются ли три заданных числа (в указанном порядке) последовательными членами арифметической прогрессии.
Наименьшее из четырёх чисел
Напишите программу, которая определяет наименьшее из четырёх чисел.
Только +
Напишите программу, которая считывает три числа и подсчитывает сумму только положительных чисел.
Принадлежность 1
Напишите программу, которая принимает целое число x и определяет, принадлежит ли данное число промежутку от -1 до 17.
Принадлежность 2
Напишите программу, которая принимает целое число x и определяет, принадлежит ли данное число указанным промежуткам: от минус бесконечности до -3 и от 7 до бесконечности.
Принадлежность 3
Напишите программу, которая принимает целое число x и определяет, принадлежит ли данное число указанным промежуткам: от -30 до -2 и от 7 до 25.
Високосный год
Напишите программу, которая определяет, является ли год с данным номером високосным. Если год является високосным, то выведите «YES», иначе выведите «NO». Год является високосным, если его номер кратен 4, но не кратен 100, или если он кратен 400.
Ход ладьи
Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли ладья попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом ладьи можно попасть во вторую, или «NO» в противном случае.
Ход короля
Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом короля можно попасть во вторую, или «NO» в противном случае.
Вид треугольника
Напишите программу, которая принимает три положительных числа и определяет вид треугольника, длины сторон которого равны введенным числам.
Самописный калькулятор
Напишите программу, которая считывает с клавиатуры два целых числа и строку. Если эта строка является обозначением одной из четырёх математических операций (+, -, *, /), то выведите результат применения этой операции к введённым ранее числам, в противном случае выведите «Неверная операция». Если пользователь захочет поделить на ноль, выведите текст «На ноль делить нельзя!».
Цветовой микшер
Красный, синий и желтый называются основными цветами, потому что их нельзя получить путем смешения других цветов. При смешивании двух основных цветов получается вторичный цвет:
- если смешать красный и синий, то получится фиолетовый;
- если смешать красный и желтый, то получится оранжевый;
- если смешать синий и желтый, то получится зеленый.
Python – это интерпретируемый язык
программирования с динамической
типизацией данных, поддержкой объектноориентированного программирования для
создания программ самого разнообразного
назначения.
Python используется в таких проектах как:
и др.
Открыть среду программирования Python:
Пуск => Python 3.8 => IDLE (Python
3.8) => File => New File
Первая программа:
print(“Hello, World!!”)
Запись в тетрадь!
Функция вывода:
print(“текст”)
Запуск программы:
Клавиша F5
Или в меню:
Run => Run Module
Переменная и оператор присваивания
message = ‘Hello, World!’
print(message)
message – переменная
= – оператор присваивания
Переменная – это величина,
имеющая имя, тип и значение. Значение
переменной можно изменять во время
работы программы.
Имена переменных
Имена переменных могут состоять из:
Латинские буквы (строчные и заглавные буквы
различаются!)
Русские буквы (не рекомендуется)
Цифры (имя не может начинаться с цифры и
состоять только из цифр)
Знак подчеркивания _
Нельзя использовать в именах переменных:
Пробелы
Знаки +,-,>,<,=,(), ! и др.
Ключевые слова языка Python
Нельзя использовать как имена переменных
ключевые слова языка Python:
Математические операции
a = 78001457
b = 2546880
c = a + b
print(c)
a = 78
b = 25
c = (a-b)*(a+b)/27
print(c)
Другие математические операции:
x+y
x-y
x*y
x/y
x // y
x%y
-x
abs(x)
divmod(x, y)
x ** y
Сложение
Вычитание
Умножение
Деление
Получение целой части от деления
Остаток от деления
Смена знака числа
Модуль числа
Пара (x // y, x % y)
Возведение в степень
Функция ввода
name = input(“Введите своё имя: “)
print(“Привет,“, name)
!
Измените программу так, чтобы она выводила в
конце восклицательный знак.
Запись в тетрадь!
Ввод строки:
s = input(“Введите строку: “)
“Введите строку: “ – обращение к пользователю
(не обязательно, но очень желательно)
По умолчанию все введённые данные
интерпретатор Питона понимает, как строки. Поэтому,
если мы хотим получить число, то строку придётся
преобразовать в число.
Запись в тетрадь!
Ввод целого числа:
n = int(input(“Введите число: “))
Функция преобразования к целочисленному типу:
n = int(s)
Функция преобразования к строковому типу:
s = str(n)
Генератор случайных чисел
Запись в тетрадь!
Функция генерации случайного целого числа из
отрезка [x,y]:
import random
a = random.randint(x,y)
Задания
1) Вывести на экран три введенных с клавиатуры числа в
порядке, обратном их вводу.
2) Ввести с клавиатуры два числа и вывести целую часть
от деления первого на второе.
3) Ввести с клавиатуры основание и высоту треугольника и
вывести площадь треугольника.
4) Ввести с клавиатуры два катета и вывести гипотенузу.
(Квадратный корень – это возведение в степень (1/2) )
5) Сгенерировать случайное двузначное число, вывести на
экран это число, а также сумму и произведение его
цифр.
Для получения цифр используйте целочисленное
деление на 10 и взятие остатка от деления на 10.
Пример для числа 47:
47//10=4
47%10=7
Домашнее задание:
Установить на компьютер среду
программирования IDLE Python.
Написать программы:
1) Ввести основания и высоту трапеции и
вывести площадь трапеции.
2) Получить случайное трехзначное число,
вывести это число и сумму его отдельных
цифр.
3) Программа, которая рассчитывает возраст
человека в часах.
Неполная форма условного оператора
Русским языком:
Если <выполняется условие> делать: какие-то действия.
Пример 1: if a>b:
Пример 2: if x==y:
print(a)
if – «если» в переводе с английского
z=x+y
z=z*z
Отступы важны! Они – часть кода. Стандартно в
Python-сообществе принято делать 4 пробела.
Общая форма записи:
if <условие>:
<действие 1>
<действие 2>
и т.д.
Задача. Что будет напечатано в
результате работы программы?
a=7
b=9
if a>b:
print(a)
Запись в тетрадь!
Неполная форма условного оператора
Общая форма записи:
if <условие>:
<действие 1>
<действие 2>
и т.д.
Пример:
if a>b:
print(a)
4 пробела!
Полная форма условного оператора
Русским языком:
Если <выполняется условие> делать: какие-то действия.
Иначе: делать другие действия.
Пример: if a>b:
print(a)
else:
print(b)
Общая форма записи:
if <условие>:
<действия 1>
else:
<действия 2>
else – «иначе» в
переводе с английского
Задача. Что будет
напечатано в результате
работы программы?
a=8
b=5
if a<b:
print(a)
else:
print(b)
Запись в тетрадь!
Полная форма условного оператора
Общая форма записи:
if <условие>:
<действия 1>
else:
<действия 2>
Пример:
if a>b:
print(a)
else:
print(b)
Оператор elif
Русским языком:
Если <выполняется условие 1>: делать такие-то действия.
Иначе если <выполняется условие 2>: делать другие действия.
Иначе если <выполняется условие 3>: делать третьи действия.
Иначе: делать что-то ещё.
Пример:
cost = 1500
if cost < 1000:
print ( "Скидок
elif cost < 2000:
print ( "Скидка
elif cost < 5000:
print ( "Скидка
else:
print ( "Скидка
нет." )
2%." )
5%." )
10%." )
Что будет напечатано?
Общая форма записи:
if <условие>:
<действия 1>
elif <условие>:
<действия 2>
elif <условие>:
<действия 3>
…
else:
<действия n>
Запись в тетрадь!
Оператор elif
Общая форма записи:
if <условие>:
<действия 1>
elif <условие>:
<действия 2>
elif <условие>:
<действия 3>
…
else:
<действия n>
Пример:
cost = 1500
if cost < 1000:
print("Скидок нет.")
elif cost < 2000:
print("Скидка 2%.")
elif cost < 5000:
print "Скидка 5%.")
else:
print("Скидка 10%.")
Запись в тетрадь!
Знаки отношений:
> больше
< меньше
== равно
>= больше или равно
<= меньше или равно
!= не равно
Сложные условия
Чтобы составить сложное условие используются операторы:
and - «и»
or - «или»
not - «не»
Пример:
if a>0 and a<10 or a==100:
print(a)
Будет ли напечатано a, если a=7? А если a=20?
Приоритет:
1) отношения (<, >, <=, >=, ==, !=)
2) not
3) and
4) or
Запись в тетрадь!
Сложные условия
and - «и»
or - «или»
not - «не»
Пример:
if a>0 and a<10 or a==100:
print(a)
Приоритет:
1) отношения (<, >, <=, >=, ==, !=)
2) not
3) and
4) or
Домашнее задание
Написать программы:
1) Ввести целое число. Если оно является положительным, то
умножить его на 3; в противном случае вычесть из него
100. Вывести полученное число.
2) Ввести числа a и b. Определить, является ли число а
делителем числа b.
3) Определить возможность существования треугольника по
сторонам. (Треугольник существует только тогда, когда
сумма любых двух его сторон больше третьей).
Программирование на Python
Цикл WHILE
(цикл с предусловием)
WHILE – «пока» в переводе с английского
Русским языком:
Пока <выполняется условие>: делать какие-то действия.
Пример:
n=0
while n<3:
n=n+1
Чему будет равно n
после завершения
цикла?
4 пробела!
Запустить программу
на компьютере:
n=0
while n<5:
n=n+1
print(n)
Запись в тетрадь!
WHILE – «пока» в переводе с английского
Общая форма записи:
while <условие>:
<действие 1>
<действие 2>
и т.д.
Пример:
n=0
while n<5:
n=n+1
print(n)
Бесконечный цикл
Пример:
while True:
print("У попа была собака, он её любил.")
print("Она съела кусок мяса, он её убил,")
print("В землю закопал и на камне написал:")
Запустить эту программу на компьютере.
(Чтобы приостановить выполнение программы,
можно щёлкнуть по тексту правой кнопкой мыши).
Запись в тетрадь!
Бесконечный цикл:
while True:
<действия>
Досрочный выход из цикла
break
Пример:
import random
while True:
a=random.randint(1,10)
print(a)
if a==7:
break
Запустить программу на компьютере.
Задачи:
1) С помощью цикла while вывести любую строчку из
стихотворения или песни 7 раз.
2) Написать программу, которая получает два целых
числа A и B (0 < A < B) и выводит все натуральные числа
в интервале от A до B.
3) С помощью бесконечного цикла реализовать игру
«Купи слона». Программа должна выводить фразу
«Купи слона!», получать ответ пользователя и
выводить: «Все говорят “фраза, введённая
пользователем”. А ты купи слона!» Затем программа
получает новый ответ от пользователя и так до
бесконечности.
Задачи:
4) С помощью бесконечного цикла и оператора break
реализовать игру «Угадай число». Программа генерирует
случайное число в диапазоне от 1 до 7 и говорит
пользователю: «Угадай число от 1 до 7!». В бесконечном
цикле программа считывает ответы пользователя и
подсказывает ему «больше!» или «меньше!», а в случае
правильного ответа цикл завершается, и выводятся
сердечные поздравления с победой.
5) Доработать программу «Угадай число» так, чтобы она не
заканчивалась, то есть, чтобы после угадывания одного
числа, начиналось угадывание следующего. Увеличить
диапазон с 7 до 15 и ввести ограничение на количество
попыток (например, 3 попытки). Если пользователь не
справился за 3 попытки, вывести «GAME OVER».
Домашнее задание
Написать программы:
1) С помощью цикла while вывести повторяющуюся строчку
из любой песни 25 раз.
2) Написать программу, которая получает два целых числа A
и B (0 < A < B) и выводит квадраты всех натуральных чисел
в интервале от A до B.
3) Дано целое число N (>0). Используя операции деления
нацело и взятия остатка от деления, вывести все его
цифры, начиная с самой правой.
4) ** Напишите программу, которая бы «подбрасывала»
условную монету 100 раз и сообщала, сколько раз выпал
орел, а сколько — решка.
Программирование на Python
Цикл FOR
(цикл с параметром)
Пример
цикла FOR:
for i in range(5):
print("Привет!")
Переменная i принимает значения 0, 1, 2, 3, 4:
for i in range(5):
print(i)
for – «для»
in range – «в диапазоне» в переводе с английского
Какие числа будут напечатаны в результате
работы программы?
for i in range(3):
print(i)
Можно указать начальное и конечное
значение диапазона:
for i in range(3, 20):
print(i)
При этом переменная i будет
принимать значения от 3 до 19
Можно указать шаг, с которым будет меняться
значение переменной i :
for i in range(3, 20, 4):
print(i)
Начальное
значение
Конечное
значение
Здесь значение переменной i будет
меняться в диапазоне от 3 до 19,
увеличиваясь каждый раз на 4
Шаг
Вывод:
3
7
11
15
19
Запись в тетрадь!
for – «для»
in range – «в диапазоне» в переводе с английского
Общая форма записи:
for <переменная-счётчик> in range(<диапазон>):
<действия>
Пример 1:
Пример 2 (с
начальным и
конечным
значением):
for i in range(5):
print("Привет!")
for i in range(3, 20):
print(i)
Задачи:
1) С помощью цикла for вывести любую строчку из
стихотворения или песни 7 раз.
2) С помощью цикла for вывести все целые числа от 10 до
100.
3) Найти и вывести сумму всех чётных чисел в диапазоне от
0 до 10.
4) Вывести все четырехзначные числа, сумма цифр каждого
из которых равна 15.
5) С клавиатуры вводится 5 натуральных чисел. Вывести
наименьшее из них.
Домашнее задание
Написать программы:
1) С помощью цикла for вывести все чётные числа от 10 до
20.
2) С помощью цикла for вывести 10 первых степеней двойки.
3) С клавиатуры вводится 7 натуральных чисел. Вывести
наибольшее из них.
Список (list) - это тип данных, представляющий
собой упорядоченный набор элементов.
Элементы одно списка должны иметь
одинаковый тип. Например, список строк,
список целых чисел.
Примеры списков:
a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]
b = [17, 409, 88]
Каждый элемент списка имеет свой номер (индекс).
Нумерация элементов начинается с нуля:
a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]
С каждым элементом списка можно работать
отдельно:
a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]
print(a[2])
Чтобы перебрать все элементы списка
используется цикл:
a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]
for i in range(5):
print("Привет,", a[i])
Способы создания списков
1) Перечислением всех элементов: b = [17, 409, 88]
Можно создать пустой список:
2) С помощью генератора списка:
a = []
a = []*5
Получится список, состоящий из пяти нулей: [0, 0, 0, 0, 0].
a = [ i for i in range(10) ]
Получится список [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = [ i*i for i in range(10) ]
Получится список [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Способы вывода списков
1) С помощью функции print():
b = [17, 409, 88]
print(b)
Вывод: [17, 409, 88]
2) Вывод каждого элемента списка по-отдельности:
a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]
for i in range(5):
print(a[i])
3) Вывод каждого элемента списка по-отдельности в
одной строке:
a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]
for i in range(5):
print(a[i], end = " ")
4) Вывод элементов списка без обращения к индексам
элементов:
fruits = ["Яблоко", "Банан", "Груша"]
for x in fruits:
print(x, end = " ")
Работа со списком
1) Элементы списка можно изменять:
a = [1, 2, 3, 4, 5, 6]
for i in range(6):
if a[i] % 2 == 0:
a[i] = 0
print(a)
Вывод: [1, 0, 3, 0, 5, 0]
2) Можно добавлять элементы в конец списка. Для этого
используется метод a.append(x):
a = [1, 2, 3]
a.append(4)
print(a)
Вывод: [1, 2, 3, 4]
3) Можно расширять список, добавляя в его конец
элементы другого списка. Для этого используется метод
a.extend(b):
a = [1, 2, 3]
b = [4, 5]
a.extend(b)
print(a)
Вывод: [1, 2, 3, 4, 5]
4) Списки можно копировать:
a = [1, 2, 3]
b = a
print(b)
5) Функция нахождения длины списка len(a):
a = ["Яблоко", "Банан", "Груша"]
x = len(a)
print(x)
Вывод: 3
6) Заполнение списка случайными элементами:
from random import randint
x = 7
a = [0]*x
for i in range(x):
a[i] = randint(0,100)
7) Перестановка элементов списка в обратном порядке.
Метод a.reverse():
a = [0, 1, 2, 3, 4, 5]
a.reverse()
print(a)
Вывод: [5, 4, 3, 2, 1, 0]
8) Сортировка списка. Функция sorted(a):
По возрастанию:
animals = ["кот", "еж", "собака", "барсук"]
animals = sorted(animals)
print(animals)
Вывод: ['барсук', 'еж', 'кот', 'собака']
По убыванию:
a = [5, 65, 14, 700, 8]
a = sorted(a, reverse = True)
print(a)
Вывод: [700, 65, 14, 8, 5]
Задачи:
1) Создать список своих любимых фильмов. Вывести список
тремя способами: а) в строчку; б) в столбик; в) в строчку
через запятую.
2) Ввести с клавиатуры список фамилий писателей.
Отсортировать список в алфавитном порядке и вывести
его.
3) Создать список из пяти элементов. Заполнить его
случайными числами. Вывести этот список. Найти и
вывести сумму его элементов.
4) Создать список из десяти элементов. Заполнить его
случайными числами. Вывести этот список. Вывести
наибольший элемент списка.
Задачи:
5) Создать список из десяти элементов. Заполнить его
случайными числами. Заменить все нечетные числа
нулями. Вывести исходный и получившийся списки.
6) Заполнить массив из 10 элементов случайными числами в
интервале [-100,100] и переставить элементы так, чтобы
все положительные элементы стояли в начала массива, а
все отрицательные и нули – в конце. Пример: исходный
массив: 20 -90 15 -34 10 0; результат: 20 15 10 -90 -34 0.
7) Заполнить массив а случайными числами, отобрать в
массив b все числа, меньшие пяти. Вывести оба массива.
О бычно программа работает по такой схеме: получает входные данные → обрабатывает их → выдает результат. Ввод может поступать как непосредственно от пользователя через клавиатуру, так и через внешний источник (файл, база данных).
В стандартной библиотеке Python 3 есть встроенная функция input() (в Python 2 это raw_input() ), которая отвечает за прием пользовательского ввода. Разберемся, как она работает.
Чтение ввода с клавиатуры
Функция input([prompt]) отвечает за ввод данных из потока ввода:
- При вызове функции input() выполнение программы приостанавливается до тех пор, пока пользователь не введет текст на клавиатуре (приложение может ждать бесконечно долго).
- После нажатия на Enter , функция input() считывает данные и передает их приложению (символ завершения новой строки не учитывается).
- Полученные данные присваиваются переменной и используются дальше в программе.
input() всегда возвращает строку :
Также у input есть необязательный параметр prompt – это подсказка пользователю перед вводом:
name = input("Введите имя: ") print(f"Привет, !") > Введите имя: Вася > Привет, Вася!
📃 Более подробное описание функции из документации:
def input([prompt]): """ Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed to standard output without a trailing newline before reading input. If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError. On *nix systems, readline is used if available. """ pass
Преобразование вводимые данные
Данные, введенные пользователем, попадают в программу в виде строки, поэтому и работать с ними можно так же, как и со строкой. Если требуется организовать ввод цифр, то строку можно преобразовать в нужный формат с помощью функций явного преобразования типов.
☝️ Важно : если вы решили преобразовать строку в число, но при этом ввели строку (например: test), возникнет ошибка:
На практике такие ошибки нужно обрабатывать через try except . В примере ниже пользователь будет вводить данные до тех пор, пока они успешно не преобразуются в число.
def get_room_number(): while True: try: num = int(input("Введите номер комнаты: ")) return num except ValueError: print("Вы ввели не число. Повторите ввод") room_number = get_room_number() print(f"Комната успешно забронирована!") > Введите номер комнаты: test > Вы ввели не число. Повторите ввод > Введите номер комнаты: 13 > Комната 13 успешно забронирована!
Input() → int
Для преобразования в целое число используйте функцию int() . В качестве аргумента передаются данные которые нужно преобразовать, а на выходе получаем целое число:
То же самое можно сделать в одну строку: age = int(input("Введите ваш возраст: ")) .
Input() → float
Если нужно получить число с плавающей точкой (не целое), то его можно получить с помощью функции float() .
Input() → list (список)
Если в программу вводится информация, которая разделяется пробелами, например, "1 word meow", то ее легко преобразовать в список с помощью метода split() . Он разбивает введенные строки по пробелам и создает список:
💭 Обратите внимание, что каждый элемент списка является строкой. Для преобразования в число, можно использовать int() и цикл for. Например, так:
Ввод в несколько переменных
Если необходимо заполнить одним вводом с клавиатуры сразу несколько переменных, воспользуйтесь распаковкой:
В этом примере строка из input() разбивается по пробелу функцией split() . Далее применяется синтаксис распаковки – каждый элемент списка попадает в соответствующую переменную.
Все переменные после распаковки будут строкового типа. Преобразовать их (например в int) можно так:
☝️ Важно : не забывайте обрабатывать ошибки:
В этом руководстве вы узнали, как принимать данные от пользователя, введенные с клавиатуры, научились преобразовывать данные из input и обрабатывать исключения.
Читайте также: