Пользовательский ввод чисел в строку
Функция input() возвращает все в виде строки, поэтому нужно выполнить явную конвертацию, чтобы получить целое число. Для этого пригодится функция int() .
# вывод суммы двух чисел, введенных пользователем
num_1 = int(input("Введите первое число: "))
num_2 = int(input("Введите второе число: "))
print("Тип num_1:", type(num_1))
print("Тип num_2:", type(num_2))
result = num_1 + num_2
print("Сумма введенных чисел:", result)int(string) конвертирует переданную строку в целое число.
Ввода числа float
По аналогии можно использовать функцию float() .
float_1 = float(input("Введите число: "))
print("Тип float_1:", type(float_1))
result = float_1 ** 2
print("Число в квадрате:", result)Введите число: 1.8 Тип float_1: Число в квадрате: 3.24Ввод чисел в строку через пробел
Но что произойдет, если вы не знаете количество элементов ввода?
Предположим, что от пользователя нужно получить список чисел и вернуть их сумму. При этом вы не знаете количество элементов в этом списке. Как же запросить ввод для него?
Для этого можно использовать split и функции map . Метод split() делит введенную строку на список подстрок. После этого map() выполняет функцию int() для каждого элемента списка.
entered_list = input("Введите список чисел, разделенных пробелом: ").split()
print("Введенный список:", entered_list)
num_list = list(map(int, entered_list))
print("Список чисел: ", num_list)
print("Сумма списка:", sum(num_list))Введите список чисел, разделенных пробелом: 1 34 4 6548 Введенный список: ['1', '34', '4', '6548'] Список чисел: [1, 34, 4, 6548] Сумма списка: 6587
- input() возвращает список, содержащий числа, разделенные запятыми.
- split() возвращает список строк, разделенных пробелами.
- map() выполняет операцию int() для всех элементов списка и возвращает объект map .
- list() конвертирует объект map снова в список.
Есть альтернативный способ получить список:
entered_list = input("Введите список чисел, разделенных пробелом: ").split()
num_list = [int(i) for i in entered_list]
print("Список чисел: ", num_list)Обработка ошибок при пользовательском вводе
Часто при конвертации типов возникает исключение ValueError .
Это происходит в тех случаях, когда введенные пользователем данные не могут быть конвертированы в конкретный тип.
Например, пользователь вводит случайную строку в качестве возраста.
num = int(input("Введите возраст: "))Функция int() ожидает целочисленное значение, обернутое в строку. Любое другое значение приводит к ошибке. Вот что будет, если, попробовать ввести «Двадцать»:
Введите возраст: Двадцать --------------------------------------------------------- ValueError Traceback (most recent call last) in ----> 1 num_1 = int(input('Введите возраст: ')) ValueError: invalid literal for int() with base 10: 'Двадцать'Чтобы убедиться, что пользователь вводит только подходящую информацию, нужно обработать массу подобных ошибок. Для этого будем использовать перехват исключений.
try:
num = int(input("Введите число: "))
print("Все верно. Число:", num)
except ValueError:
print("Это не число.")Посмотрим, как ввод «Двадцать» сработает теперь:
Введите число: Двадцать Это не число.В этом примере если пользователь вводит нечисловое значение, то возникает исключение. Однако оно перехватывается инструкцией except , которая в ответ выводит: «Это не число». Благодаря использованию конструкции try-except программа не прекратит работать при некорректном вводе.
Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.
Мои контакты: Почта
Python Q https://yandex.ru/q/loves/python Online
Python Q CEO Pythonru admin@pythonru.com https://secure.gravatar.com/avatar/b16f253879f7349f64830c64d1da4415?s=96&d=mm&r=g CEO Pythonru Python Александр Редактор https://t.me/cashncarryhttps://pythonru.com/https://yandex.ru/q/profile/cashnc/ PythonRu.com admin@pythonru.com Alex Zabrodin 2018-10-26 Online Python, Programming, HTML, CSS, JavaScript
Ввод нескольких переменных в одной строке
Добрый день. Можно ли сделать так, чтобы вместо списка вводилось 3 разных переменных, но в одной строке?
Так не получается
a, b, c = int(input())
Нужно ввести 3 числа в одной строке без использования списка, массива и т.п. Чтобы каждое число записалось в отдельную переменную.
Допустим
a, b, c = int(input())
Я ввожу "5 2 3"
И при
print(a)
print(b)
print(c)
пользователь получает
5
2
3Лучшие ответы ( 3 )
| Здесь вы можете заказать любую студенческую или школьную работу. |
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Ввод нескольких переменных в одной строке
Всем здравствуйте. Не давно начал изучать питон и решил порешать задачи. И буквально на первой.
Инициализация нескольких переменных в одной строке
Привет. Иногда нужно инициализировать переменные, иначе программа не запускается. Я сейчас так.

Ввод нескольких значений в одной строке
#include <iostream> #include <vector> using namespace std; int main() < int count; cin >>.
Как можно сделать ввод 3 переменных в одной строке?
Как можно сделать ввод 3 переменных в одной строке, чтобы программа была компактней? using.

Написать программу, которая обеспечивает ввод значений дробных переменных (типа float) u и r. Предполагается, что пользователь будет набирать числа в одной строке.
Немного непонятная задачка. Тут пользователь может вводить данные "значение пробел значение".
Ввод n элементов в одну строку
пояснение: input() содержит введённую строку, .split() разбивает её по пробельным символам, создавая список полученных значений, дальше каждый элемент этого списка превращается в int , и добавляется в список i
Это выражение аналогично следующему:
i = [] for a in input().split(): i.append( int(a) )
IN: "12 214 5 24 5" OUT: [12, 214, 5, 24, 5]
использование в вашей программе:
i = 1 k = 0 p = 0 n = int(input()) # не будет использоваться nums = [int(a) for a in input().split()] for a in nums: if a % 2 == 0: k += 1 if a % 2 != 0: p += 1 print(abs(k-p))
Как ввести числа в 1 строке

5. Функция input()

6. Функция print()

7. Деление нацело и деление по остатку

8. Функции trunc, floor, ceil

9. Деление нацело и по остатку отрицательных чисел в Python

10. Логический тип Bool. Операции сравнения

11. Cтроки и операции над ними

12. Строки: индексы и срезы

13. Строки и их методы
Функция input()
Очень часто при написании программы нужно запрашивать какую-либо информацию у пользователя. И после того, как он введет необходимые данные, их нужно сохранить в программе. Для обработки пользовательского ввода в python существует функция input().
>>> a=input() 123 >>> a '123' >>> type(a) class 'str' >>> a+2 Traceback (most recent call last): a+2 TypeError: must be str, not int
После вызова функции input() программа остановится и будет ждать ввода значений. По окончанию ввода нужно нажать Enter и все что было введено сохранится в переменной в виде строки.
>>> b=input() hello world! >>> b 'hello world!'
Если вам необходимо ввести целое число и сохранить его в переменную d, необходимо поступить следующим образом:
>>> d=int(input()) 123 >>> type(d) class 'int' >>> d+2 125
Оборачивая input() функцией int(), мы преобразуем введеную строку в целое число. Но будьте аккуратны! Если пользователь введет символы, которые нельзя преобразовать к целому числу, получите ошибку ValueError.
d=int(input()) 15sdf4 Traceback (most recent call last): d=int(input()) ValueError: invalid literal for int() with base 10: '15sdf4'
Если вам необходимо ввести вещественное число и сохранить его в переменную q, необходимо обернуть функцию input() в функцию float()
>>> q=float(input()) 4.5 >>> q 4.5 >>> type(q) class 'float'
Но при помощи int(input()) вы можете считать только одно число в одной строке. Если вам потребуется ввести несколько чисел в одну строчку через пробел, нужно поступать следующим образом:
Здесь вводятся только два значения в одну строку через пробел. Затем каждое из них преобразуется к целому значению.
Другой способ прочитать несколько значений - использовать функцию map
О том как работает функция map вы узнаете в дальнейших уроках. Сейчас просто пользуйтесь этой строчкой
Заключение
Варианты использования функции input()
- a = input() - если необходимо ввести строку и сохранить ее в переменную а
- a = int(input()) - если необходимо ввести целое число и сохранить его в переменную а
- a = float(input()) - если необходимо ввести вещественное число и сохранить его в переменную а
- a,b = map(int,input().split()) - если необходимо ввести два целых числа в одну строку через пробел
- a,b,c = map(float,input().split()) - если необходимо ввести три вещественных числа в одну строку через пробел
Вопросы для проверки пройденного:
- 1 Что делает данная программа?
name = input("Введите ваше имя: ") print("Тебя зовут " + name)
rost = input(float("Введите ваш рост в метрах:"))

