Как считать 2 числа из одной строки в python
Python 3 — это современный язык, на котором просто и приятно писать программы.
Для печати значений в Питоне есть функция print(). Внутри круглых скобок через запятую мы пишем то, что хотим вывести. Вот программа, которая делает несколько вычислений:
Для ввода данных в программу мы используем функцию input() . Она считывает одну строку.
Вот программа, которая считывает имя пользователя и приветствует его:
Мы будем писать программы, которые считывают данные, перерабатывают их и выводят какой-то результат. При запуске на компьютере такие программы считывают данные, которые пользователь вводит с клавиатуры, а результат выводят на экран.
Попробуем написать программу, которая считывает два числа и выводит их сумму. Для этого считаем два числа и сохраним их в переменные a и b , пользуясь оператором присваивания = . Слева от оператора присваивания в программах на Питоне ставится имя переменной — например, строка из латинских букв. Справа от оператора присваивания ставится любое выражение. Имя станет указывать на результат вычисления выражения. Проиграйте эту программу и посмотрите на результаты её работы:
Мы видим, что программа выводит 57 , хотя в реальной жизни 5 + 7 будет 12 . Это произошло потому, что Питон в третьей строчке «сложил» две строки, а не два числа. В Питоне две строки складываются так: к первой строке приписывается вторая.
Обратите внимание, что в визуализаторе содержимое переменных a и b заключено в кавычки. Это означает, что в a и b лежат строки, а не числа.
В Питоне все данные называются объектами. Число 2 представляется объектом «число 2», строка ‘hello’ – это объект «строка ‘hello’ ».
Каждый объект относится к какому-то типу. Строки хранятся в объектах типа str , целые числа хранятся в объектах типа int , дробные числа (вещественные числа) — в объектах типа float . Тип объекта определяет, какие действия можно делать с объектами этого типа. Например, если в переменных first и second лежат объекты типа int , то их можно перемножить, а если в них лежат объекты типа str , то их перемножить нельзя:
Чтобы преобразовать строку из цифр в целое число, воспользуемся функцией int() . Например, int(’23’) вернет число 23 .
Вот пример правильной программы, которая считывает два числа и выводит их сумму:
Как ввести два числа через пробел в Python?
Как написать код, где надо ввести два числа через пробел в Python Например: Нам надо написать программу, которая читает два числа через пробел, а потом складывает их P.S.
![]()
Ввод двух (или более) переменных через пробел:
![]()
Если требуется сделать ее проще, без split() или ‘ ‘.join() . То можно просить 2 переменные int и выводить их отдельной строкой
Ок, увидел что нужно.
![]()
![]()
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Два значения из одного входа в python?
Это несколько простой вопрос, и я ненавижу спрашивать его здесь, но я не могу найти ответ в другом месте: возможно ли получить несколько значений от пользователя в одной строке Python?
Например, в C я могу сделать что-то вроде этого: scanf(«%d %d», &var1, &var2) . Однако я не могу понять, что такое эквивалент Python. Я полагал, что это будет просто что-то вроде var1, var2 = input(«Enter two numbers here: «) , но это не работает, и я не жалуюсь, потому что это не будет иметь большого смысла, если это произойдет.
Кто-нибудь знает хороший способ сделать это элегантно и лаконично?
ОТВЕТЫ
Ответ 1
Путь Python для отображения
Обратите внимание, что нам не нужно явно указывать split(‘ ‘) , потому что split() использует по умолчанию любые символы пробелов в качестве разделителя. Это означает, что если мы просто назовем split() , тогда пользователь мог бы отделить числа, используя вкладки, если он действительно захотел, а также пробелы.,
У Python есть динамическая типизация, поэтому нет необходимости указывать %d . Однако, если вы запустили выше, то var1 и var2 будут обе строки. Вы можете преобразовать их в int с помощью другой строки
Или вы можете использовать понимание списка
Подводя итог, вы могли бы сделать все это с помощью этого однострочного интерфейса:
Ответ 2
Вы не можете сделать это так (как мне кажется), но питонический способ сделать это будет (если ваши «входы» имеют промежутки между ними):
Итак, вы можете переписать свою попытку:
Обратите внимание, что это несколько менее гибко, чем использование «первого» решения (например, если вы добавите пробел в конец, это уже сломается).
Также имейте в виду, что var1 и var2 все равно будут строками с этим методом, если не будут переданы в int.
Ответ 3
В Python 2.* , input позволяет пользователю вводить любое выражение, например. кортеж:
В Python 3.* , input похож на 2.* raw_input , возвращая вам строку, которую только что набрал пользователь (а не eval как 2.* , используемый для input )), поэтому вам нужно будет .split и/или eval , & c, но вы также будете БОЛЬШЕ больше контролировать все это.
Ответ 4
Если вам нужно взять два целых числа, скажите a, b в python, вы можете использовать функцию карты.
Предположим, что вход имеет значение
где 1 представляет собой тестовый случай, 5 представляет количество значений, а 3 представляет значение задачи, а в следующей строке даны 5 значений, мы можем взять такой ввод, используя этот метод в версии PYTH 2.x.
Вы можете заменить ‘int’ на map() другим необходимым типом данных.
Ответ 5
Весь вход будет через строку. Это зависит от вас, чтобы обработать эту строку после ее получения. Если это не так, вы используете метод eval (input()), но это не рекомендуется для большинства ситуаций.
Ответ 6
Вы должны использовать метод split() , который разбивает вход на два разных входа. Все, что вы переходите в раскол, просматривается, и вход от него отделяется. В большинстве случаев это пробел.
Например, вы вводите ввод 23 24 25 . Вы ожидаете 3 разных входа, например
Итак, в Python вы можете сделать
Ответ 7
Проверьте эту удобную функцию:
Ответ 8
Решение, которое я нашел, следующее:
Попросите пользователя ввести два числа, разделенные запятой или другим символом
value = input(«Enter 2 numbers (separated by a comma): «)
Затем строка разделяется: n берет первое значение и m второе
Наконец, чтобы использовать их как целые числа, необходимо их преобразовать
Ответ 9
Самый простой способ, который я нашел для себя, — использовать функцию разделения с помощью ввода Как и у вас есть две переменные a, b
Что это. существует еще один метод (явный метод) Например, вы хотите ввести ввод в три значения
Ответ 10
Это пример кода для ввода двух входов, разделенных командой split и разделителем как «,»
Другие варианты разделителей, которые можно использовать, следующие:
var1, var2 = input(«enter two numbers:»).split(‘,’)
var1, var2 = input(«enter two numbers:»).split(‘;’)
var1, var2 = input(«enter two numbers:»).split(‘/’)
var1, var2 = input(«enter two numbers:»).split(‘ ‘)
var1, var2 = input(«enter two numbers:»).split(‘
Ответ 11
Для n чисел входных данных объявите переменную как пустой список и используйте тот же синтаксис для продолжения:
Ответ 12
Выход
Ответ 13
В Python 3 raw_input() была переименована в input() .
Если аргумент подсказки присутствует, он записывается в стандартный вывод без завершающей строки. Затем функция читает строку из входных данных, преобразует ее в строку (удаляя завершающий символ новой строки) и возвращает ее. Когда EOF читается, EOFError повышается.
Так что вы можете сделать это
Если вы не поставите два числа, используя пробел, вы получите исключение ValueError . Так что это хорошо идти.
NB. Если вам нужно старое поведение input() , используйте eval(input())
Ответ 14
Я пробовал это в Python 3, кажется, работает нормально.
Ответ 15
Два входа разделены пробелом:
Ответ 16
Это решение используется для преобразования нескольких строк, например («22 44 112 2 34») в список целых чисел, и вы можете получить доступ к значениям в списке.