Как в питоне ввести несколько чисел в одну строку
Перейти к содержимому

Как в питоне ввести несколько чисел в одну строку

  • автор:

Как в питоне ввести несколько чисел в одну строку

Python 3 — это современный язык, на котором просто и приятно писать программы.

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

print(5 + 10) print(3 * 7, (17 - 2) * 8) print(2 ** 16) # две звёздочки означают возведение в степень print(37 / 3) # один слэш — это деление с ответом-дробью print(37 // 3) # два слэша считают частное от деления нацело # это как операция div в других языках print(37 % 3) # процент считает остаток от деления нацело # это как операция mod в других языках

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

Вот программа, которая считывает имя пользователя и приветствует его:

Пётр
print('Как вас зовут?') name = input() # считываем строку и кладём её в переменную name print('Здравствуйте, ' + name + '!')

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

Попробуем написать программу, которая считывает два числа и выводит их сумму. Для этого считаем два числа и сохраним их в переменные a и b , пользуясь оператором присваивания = . Слева от оператора присваивания в программах на Питоне ставится имя переменной — например, строка из латинских букв. Справа от оператора присваивания ставится любое выражение. Имя станет указывать на результат вычисления выражения. Проиграйте эту программу и посмотрите на результаты её работы:

a = input() b = input() s = a + b print(s)

Мы видим, что программа выводит 57 , хотя в реальной жизни 5 + 7 будет 12 . Это произошло потому, что Питон в третьей строчке «сложил» две строки, а не два числа. В Питоне две строки складываются так: к первой строке приписывается вторая.

Обратите внимание, что в визуализаторе содержимое переменных a и b заключено в кавычки. Это означает, что в a и b лежат строки, а не числа.

В Питоне все данные называются объектами. Число 2 представляется объектом «число 2», строка ‘hello’ – это объект «строка ‘hello’ ».

Каждый объект относится к какому-то типу. Строки хранятся в объектах типа str , целые числа хранятся в объектах типа int , дробные числа (вещественные числа) — в объектах типа float . Тип объекта определяет, какие действия можно делать с объектами этого типа. Например, если в переменных first и second лежат объекты типа int , то их можно перемножить, а если в них лежат объекты типа str , то их перемножить нельзя:

first = 5 second = 7 print(first * second) first = '5' second = '7' print(first * second)

Чтобы преобразовать строку из цифр в целое число, воспользуемся функцией int() . Например, int(’23’) вернет число 23 .

Вот пример правильной программы, которая считывает два числа и выводит их сумму:

a = int(input()) b = int(input()) s = a + b print(s)

Как сделать ввод нескольких переменных в одну строку?

Первым значением мне дают сколько переменных будет введено(0 ≤ N ≤ 15) :
11
а потом вводятся эти значения :
2 5 2 3 6 9 3 1 3 4 6
Как это оформить ?
или нужно писать if на каждое значение ?

  • Вопрос задан более трёх лет назад
  • 3388 просмотров

Комментировать

Решения вопроса 1

fox_12

Владимир Куц @fox_12 Куратор тега Python

Расставляю биты, управляю заряженными частицами

num = int(input()) data = [] while num > 0: data.append(int(input())) num -= 1 print(data)

если нужно именно в одну строку:

num = int(input()) data = [] while len(data) != num: data = list(map(int, input().split(' '))) print(data)

Ответ написан более трёх лет назад

Нравится 1 1 комментарий

SoreMix

soremix @SoreMix Куратор тега Python

num = int(input()) data = [int(input()) for _ in range(num)]
num = int(input()) data = [int(x) for x in input().split()[:num]]

слишком просто?

Ввод 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)) 

Как в питоне ввести несколько чисел в одну строку

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("Введите ваш рост в метрах:"))

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

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