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

Как задать количество вводимых переменных python

  • автор:

Ввод N переменных в Python

Добрый день! Для задания нужно ввести в программу на первой строке число N, а на второй N целых чисел. Понимаю что надо сделать как то через map(int, input().split()) но не получается немного, подскажите пожалуйста.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

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

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

Ввод дополнительных переменных
Делаю калькулятор(в качестве первого проекта). И обнаружил, что я не смогу ввести больше 2х.

Ввод именованных переменных
Задача: написать код программы, чтобы при вводе в консоль строчных символов происходило сложение.

Автоматизируй это!

Эксперт Python

7054 / 4559 / 1207
Регистрация: 30.03.2015
Сообщений: 13,132
Записей в блоге: 29

ЦитатаСообщение от maozedong Посмотреть сообщение

но не получается немного

покажи что не получается, вроде верно написано, ты не забываешь привести к листу? мап возвращает итератор, а не список!

Регистрация: 20.09.2019
Сообщений: 14

Уже разобрался, вот так получилось :
n = (int(input()))
n = map(int, input().split())
Спасибо, направил меня на правильную мысль

4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949

ЦитатаСообщение от maozedong Посмотреть сообщение

Спасибо, направил меня на правильную мысль

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

ЦитатаСообщение от maozedong Посмотреть сообщение

вести в программу на первой строке число N, а на второй N целых чисел

n = int(input()) list_number = [int(input('>> ')) for _ in range(n)]

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Ввод переменных через while
Надо вводить переменные через цикл while. Как это сделать?

Табличный ввод переменных
Добрый день мастера программирования! Прошу оказать посильную помощь начинающему. Мне надо срочно.

Динамический ввод переменных
Добрый день! Не подскажете есть ли в mathcad динамическая помощь при вводе переменных, как в.

Ввод логических переменных
Не понимаю,что ,но тут что-то не так! Все сразу вылазает на экран игнорируя многое! #include.

Ввод нескольких переменных
Здравствуйте! Подскажите, пожалуйста, каким образом можно организовать ввод нескольких.

Ввод переменных с клавиатуры
a=int(input()) b=int(input()) на PYTHON 3 этот код ,если ввожу 10 15,не работает,пишет invalid.

Как ввести несколько значений

? Мне нужно ввести неограниченное количество значений и их где-то сохранить, вот только как и где? Ну, как я понял, сохранить в список, а как мне добавить много значений в за один раз? Наверное вопрос не сильно понятен. Ладно, вот сама здача
На оси Оx заданы N точек с координатами x1,x2. xn. Найти такую точку Z, сумма расстояний от которой до данных точек минимальная. (15 баллов)
Входные данные. В первой строке вводится кол-во точек — N. В следующих строках вводятся координаты точек — x1,x2. xn.
Выходные данные. Выводится точка Z сумма расстояний от которой до данных точек минимальная.
Ограничение по времени: 0,1 сек. на тест
Ограничение по памяти: 64 МБ
Примеры входных и выходных данных:

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как ввести несколько переменных в 1 строку?
Можно ли так? a, b, c = map(int, input().split(»)) print(a + b + c)

Как ввести несколько переменных из одной строки
Как ввести несколько переменных из одной строки, не зная количество переменных? Кроме варианта.

Как сделать несколько значений
Здравствуйте , я ещё новичок и решил написать простую программу . b = int(input("Узнай какая.

Как вернуть из функции несколько значений?
Как вернуть из функции несколько значений?

3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435
HikkaNote_,

n = int(input()) x = [int(input()) for _ in range(n)]

954 / 340 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
HikkaNote_, используйте цикл while и счётчик.
Регистрация: 04.11.2019
Сообщений: 10

ЦитатаСообщение от Damenikx Посмотреть сообщение

HikkaNote_, используйте цикл while и счётчик.
счетчик? Это какая-то встроенная функция или его надо писать самому?
3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435
Damenikx,

студент в твоем распоряжении

Регистрация: 04.11.2019
Сообщений: 10

Ааа, зачем я взялся за олимпиаду.
Подскажите ещё пожалуйста. Я понял как эта задача решается, есть только вопросы по исполению. Я просто решил аналогичную с другими числами, 4 точки с координатами 4, 17, 29, 42. Здесь это точка 13, так как 17-4=13, 28-17=13, 42-29=13.И теперь непонятно, как работать с каждым элементом списка отдельно? Я сначала подумал, что с помощью индексов, типа [0], [1], [2], и т.д. Но тогда как узнать сколько индексов понадобится вообще? И как мне объяснить программе, что она должна работать с предыдущим элементом списка?

Как ввести в одной строке n переменных

Вы можете ввести любое количество переменных в массив:

>>> arr = input().split() 1 2 3 4 5 >>> arr ['1', '2', '3', '4', '5'] 

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

arr = list(map(int, input().split())) 

Отслеживать
ответ дан 8 фев 2020 в 16:08
user268601 user268601
А если при вводе предпоследнего ошибка, то мы всё завалим и не оставим ничего во-второй конструкции.
8 фев 2020 в 17:09

    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Пользовательский ввод (input) в Python

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

В стандартной библиотеке Python 3 есть встроенная функция input() (в Python 2 это raw_input() ), которая отвечает за прием пользовательского ввода. Разберемся, как она работает.

Чтение ввода с клавиатуры

Функция input([prompt]) отвечает за ввод данных из потока ввода:

s = input() print(f»Привет, !») > мир # тут мы с клавиатуры ввели слово «мир» > Привет, мир!

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

input() всегда возвращает строку :

s = input() print(type(s)) > 2 >

Также у 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), возникнет ошибка:

ValueError: invalid literal for int() with base 10: ‘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_str = input(«Введите ваш возраст: «) age = int(age_str) print(age) print(type(age)) > Введите ваш возраст: 21 > 21 >

То же самое можно сделать в одну строку: age = int(input(«Введите ваш возраст: «)) .

Input() → float

Если нужно получить число с плавающей точкой (не целое), то его можно получить с помощью функции float() .

weight = float(input(«Укажите вес (кг): «)) print(weight) print(type(weight)) > Укажите вес (кг): 10.33 > 10.33 >

Input() → list (список)

Если в программу вводится информация, которая разделяется пробелами, например, «1 word meow», то ее легко преобразовать в список с помощью метода split() . Он разбивает введенные строки по пробелам и создает список:

list = input().split() print(list) print(type(list)) > 1 word meow > [‘1’, ‘word’, ‘meow’] >

�� Обратите внимание, что каждый элемент списка является строкой. Для преобразования в число, можно использовать int() и цикл for. Например, так:

int_list = [] for element in input().split(): int_list.append(int(element)) print([type(num) for num in int_list]) > 1 2 3 > [, , ]

Ввод в несколько переменных

Если необходимо заполнить одним вводом с клавиатуры сразу несколько переменных, воспользуйтесь распаковкой:

В этом примере строка из input() разбивается по пробелу функцией split() . Далее применяется синтаксис распаковки – каждый элемент списка попадает в соответствующую переменную.

Все переменные после распаковки будут строкового типа. Преобразовать их (например в int) можно так:

a, b = [int(s) for s in input().split()] print(f»type a: , type b: «) > 13 100 > type a: , type b:

☝️ Важно : не забывайте обрабатывать ошибки:

  • если введенных значений больше чем переменных, получите ошибку – ValueError: too many values to unpack (expected 3) ;
  • если введенных значений меньше чем переменных, получите ошибку – ValueError: not enough values to unpack (expected 3, got 2) ;
  • если преобразовываете в int, а вводите строку – ValueError: invalid literal for int() with base 10: ‘test’ .

В этом руководстве вы узнали, как принимать данные от пользователя, введенные с клавиатуры, научились преобразовывать данные из input и обрабатывать исключения.

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

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