Как сделать повторный ввод в python

от admin

как повторить ввод, если данные в неправильном формате?

Так вот в чем вопрос. У меня есть «для в диапазоне» для меня, чтобы ввести значение в список однако, если я ввожу значение, которое не является числом, оно может только сказать мне, что я ввел неправильный ввод, но я не могу повторно ввести правильное значение, оно просто продолжает просить меня двигаться вперед, чтобы ввести следующее.
Как я могу повторить ввод, если я ввел неправильное значение (например, английские символы), чтобы у меня было правильное значение в определенной позиции?

Большое спасибо за любую помощь! новобранец для питона

Код, который я написал:

2 ответа

Извлеките часть кода, получающую оценку, в свою собственную функцию, и в этой функции поместите ее в цикл while, который будет продолжать запрашивать значение до тех пор, пока значение не станет действительным:

Вы должны сделать свою проверку в цикле и закончить его, когда счет правильный.

Получение нескольких входных данных от пользователя в Python

Как ввести пользовательский ввод для списка в Python | Управление списком

Я знаю, как получить один ввод от пользователя в python 2.5 :

Это открывает один экран ввода и принимает первое число. Если я хочу использовать второй ввод, мне нужно повторить ту же команду, и она откроется в другом диалоговом окне. Как я могу принять два или более ввода вместе в одном и том же диалоговом окне, которое открывается таким образом, чтобы:

  • 3 raw_input открывает диалоговое окно? Как (например, в какой среде) вы запускаете свои программы?
  • Под блоком я имел в виду простое маленькое окно, которое открывается для ввода raw_input.
  • +1 Да, я подумал. Я все еще удивлен, потому что raw_input нужно просто написать приглашение sys.stdout и прочтите ввод из sys.stdin , и это обычно терминал, вывод другой программы или файл. Если при этом происходит графический интерфейс, это будет очень необычная среда.

Это может оказаться полезным:

Затем вы можете использовать «a» и «b» отдельно.

Как насчет этого?

(Вам, вероятно, тоже понадобится обработка ошибок)

  • Это действительно хороший способ получить информацию от пользователя.
  • Не тень input , особенно теперь с Python 3, где raw_input теперь переименован в input

Или, если вы собираете много чисел, используйте цикл

Мое первое впечатление заключалось в том, что вам нужна циклическая командная строка с циклическим вводом пользователя внутри этой циклической командной строки. (Вложенный пользовательский ввод.) Возможно, это не то, что вы хотели, но я уже написал этот ответ, прежде чем понял это. Итак, я собираюсь опубликовать его, если другие (или даже вы) сочтут его полезным.

Вам просто нужны вложенные циклы с оператором ввода на каждом уровне цикла.

Вы можете прочитать несколько входных данных в Python 3.x, используя приведенный ниже код, который разбивает входную строку и преобразует ее в целое число, а значения выводятся на печать.

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

Лучший способ попрактиковаться — использовать один лайнер,
Синтаксис:

Принимая несколько целочисленных входов:

Принятие нескольких входов с плавающей запятой:

Принимая несколько строк ввода:

Это для Python3.

Python и все остальные императив языки программирования выполняют одну команду за другой. Поэтому можно просто написать:

Затем вы можете работать с переменными first а также second . Например, вы можете преобразовать хранящиеся в них строки в integers и умножьте их:

  • Верно, но разве это не откроет два поля . как я могу ввести оба числа в одно поле? например, встраивание обеих команд raw_input в одно диалоговое окно одновременно
  • @ user899714 В среде cpython по умолчанию, raw_input не имеет графического пользовательского интерфейса. Похоже, вы используете графическую / образовательную среду Python. Вы можете назвать нам название этой среды?
  • На самом деле я еще ни одной не использовал. Мне было интересно, могу ли я улучшить внешний вид того, как я получаю ввод от пользователя, без хлопот с использованием графической среды, просто изменив / изменив команду raw_input . Но я думаю, это невозможно.
  • PythonWin открывает диалоговое окно при использовании raw_input. По крайней мере, pywin32 build 212 делает.

В Python 2 вы можете вводить несколько значений через запятую отдельно (как упоминает jcfollower в своем решении). Но если вы хотите сделать это явно, вы можете поступить следующим образом. Я беру несколько входных данных от пользователей, используя цикл for, и сохраняю их в списке элементов, разделяя их с помощью ','.

  • возможно, вы хотите добавить текстовое объяснение к своему решению
  • 1 Спасибо. Я добавил объяснение.

Вы можете попробовать это.

Для получения подробной информации, пожалуйста, просмотрите,

  1. a, b, c = input (). split () # для ввода, разделенного пробелами
  2. a, b, c = input (). split (",") # для ввода, разделенного запятыми
  • Объясните свой код и то, как он решает проблему?
  • всякий раз, когда вы хотите ввести несколько входов в одну строку с входами, разделенными пробелами, используйте первый регистр. А когда входы разделены запятой, используйте второй регистр. Вы реализуете это в оболочке или любом другом ide и видите работающий .. @ MittalPatel

Функция разделения разделит входные данные по пробелам.

name получит первый столбец, id будет содержать второй столбец, а метки будут списком, который будет содержать данные от третьего столбца до последнего столбца.

надеюсь, ты получил ответ 🙂

Как насчет того, чтобы ввести список. Затем вы можете использовать стандартные операции со списком.

Русские Блоги

Функция inpu () приостанавливает работу программы и ждет, пока пользователь введет какой-либо текст.

Пользователь видит подсказку Скажите мне что-нибудь, и я повторю это вам: Программа ожидает ввода пользователя и продолжает работать после того, как пользователь нажмет клавишу Enter.

Если вы вводите в Python2.7, вы должны использовать функцию raw_input (), чтобы запросить ввод у пользователя.

1. Напишите четкую программу (сыграйте роль объяснения)

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

Иногда подсказка может превышать одну строку, вы можете сохранить подсказку в переменной, а затем передать переменную в функцию input ().

2. Используйте int() Получить Численная величина войти

При использовании функции input () Python интерпретирует пользовательский ввод как строку.

Функция int () преобразует строковое представление числа в числовое представление.

3. Оператор модуля (найти остаток)%

Введение в цикл

1. Используйте цикл while

2. Пусть пользователи сами выбирают, когда выйти

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

3. Используйте логотип

В программе, которая требует выполнения многих условий, прежде чем она сможет продолжить работу, можно определить переменную, чтобы определить, активна ли вся программа. Эта переменная называется знаком и действует как сигнал трафика для программы. Вы можете позволить программе продолжать работать, когда флаг установлен в True, и остановить программу, когда любое событие приводит к тому, что флаг будет ложным. Таким образом, в операторе while необходимо проверить только одно условие — текущее значение флага равно True, и все тесты размещены в другом месте, так что программа становится чище.

В сложной программе, такой как игра, в которой многие вещи приводят к остановке работы программы, этот флаг полезен: когда событие приводит к тому, что активный флаг где-либо в нем становится ложным, основной игровой цикл завершается, и в это время может отображаться конец игры. Сообщение и пусть пользователь выбирает, следует ли воспроизводить.

4. Используйте break для выхода из цикла (завершите все циклы)

Чтобы немедленно выйти из цикла while, больше не выполнять оставшийся код, и независимо от результата условного теста вы можете использовать оператор break.

Вы можете использовать оператор break в любом цикле Python. Например, вы можете использовать оператор break для выхода из цикла for, который пересекает список или словарь.

5. Используйте продолжить в цикле (чтобы выйти из текущего цикла)

6. Избегайте бесконечных петель

Если программа застряла в бесконечном цикле, вы можете нажать Ctrl + C или закрыть окно терминала, в котором отображается вывод программы.

В-третьих, используйте цикл while для обработки списков и словарей

Цикл for является эффективным способом обхода списка, но список не следует изменять в цикле for, иначе это затруднит отслеживание элементов в Python. Чтобы внести изменения при обходе списка, используйте цикл while.

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

1. Переместить элементы между списками метод pop ()

Метод pop () удаляется из конца списка по одному за раз.

2. Удалите все элементы, которые содержат определенные значения метод remove ()

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

3. Используйте пользовательский ввод для заполнения словаря

Цикл while можно использовать, чтобы предложить пользователю ввести любое количество информации.

Пользовательский ввод Python | Функция Python Input () | Ввод с клавиатуры

Пользовательский ввод Python может быть легко взят с помощью input() или raw_input() в зависимости от того, какую версию языка программирования Python вы используете.

  • Автор записи

Пользовательский ввод Python | Функция Python Input () | Ввод с клавиатуры

Чтобы принять пользовательский ввод в Python, мы используем функцию input() в языке программирования Python, она запрашивает ввод от пользователя и возвращает строковое значение, независимо от того, какое значение вы ввели, все значения будут рассматриваться как строковые значения.

Читать:
Как выглядит кристалл в процессоре

Что такое пользовательский ввод Python и зачем Он Нам нужен в Python?

Почти все интересные программы принимают ввод от пользователя в какой-то момент. Вы можете начать принимать пользовательский ввод в свои программы с помощью функции input() в Python. Функция ввода выводит пользователю сообщение, описывающее тип ввода, который вы ищете, а затем ждет, пока пользователь введет значение.

Нам нужна функция input () в Python, потому что в большинстве ваших программ на Python вы захотите взаимодействовать с конечным пользователем, задавая вопросы и извлекая пользовательские входные данные. Для этого вы можете использовать функцию input() в Python.

Вряд ли есть какие – либо программы без какого-либо ввода. Входные данные могут поступать различными способами, например, из базы данных, другого компьютера, щелчков и движений мыши или из Интернета. Однако в большинстве случаев ввод осуществляется с клавиатуры. Для этой цели Python предоставляет функцию input(). input имеет необязательный параметр, который является строкой приглашения.

Как читать ввод с клавиатуры в Python?

Пользовательский ввод Python в Python 2

В Python2 мы можем считывать входные данные со стандартного устройства ввода, то есть с клавиатуры , используя следующие две встроенные функции. Но, как мы все знаем, официальная поддержка Python 2 закончилась. Так что лучше выучить Python 3 прямо сейчас.

  • raw_input
  • <код>ввод

Но, как мы все знаем, официальная поддержка Python 2 закончилась. Так что лучше выучить Python 3 прямо сейчас.

Пользовательский ввод Python в Python 3

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

Ввод Данных С Помощью Функции raw_input ( )

Функция определяется как блок организованного, многократно используемого кода, используемого для выполнения одного связанного действия. Python имеет множество встроенных функций; вы также можете создавать свои собственные. Python имеет функцию ввода, которая позволяет вам попросить пользователя ввести некоторый текст. Вы вызываете эту функцию, чтобы сказать программе остановиться и подождать, пока пользователь введет данные. В Python 2 у вас есть встроенная функция raw_input()

В Python 2.7 вам нужно использовать raw_input(). Эта функция считывает только одну строку из стандартного ввода и по умолчанию возвращает ее в виде строки.

Если вы используете python 2, то нам нужно использовать функцию raw_input() вместо функции input ().

Примечание: функция raw_input() выведена из эксплуатации в Python 3.

Пример пользовательского ввода Python С использованием raw_input()

Ввод Данных С Помощью Функции input ( )

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

Чтобы получить пользовательский ввод в Python (3), вы используете команду input(). Сохраните результат в переменной и используйте его в свое удовольствие. Помните, что результат, который вы получите от пользователя, будет строкой, даже если он введет число.

То, что это напечатает в терминале (или оболочке, независимо от того, в чем вы запускаете Python), будет:

Что происходит в конце input(), так это то, что он ждет, пока пользователь что-то наберет и нажмет ENTER. Только после того, как пользователь нажмет ENTER, программа продолжит работу.

Пример пользовательского ввода Python С помощью функции input()

Пример 1 пользовательского ввода Python

Введите имя пользователя: Python PoolИмя пользователя: Python Pool

Пример 2 пользовательского ввода Python

Смотрите программу и вывод – Здесь мы предоставили три значения «10» для val1, которое является целочисленным значением, но рассматривается как строка, «10.23» для val2, которое является плавающим значением, но рассматривается как строка, «Hello» для val3, которое является строковым значением.

Примите целое число в качестве пользовательского ввода

Пример 1 пользовательского ввода Integer Python
Пример 2 пользовательского ввода Integer Python

Получение входных данных от пользователя в Python в виде списка

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

  • num_list — это пустой список. Мы добавим все элементы в этот список.
  • счетчик предназначен для хранения общего количества элементов. Вторая строка просит пользователя ввести общее количество элементов и сохраняет это значение в переменной count.
  • Используя один для цикла, мы читаем элементы один за другим от пользователя. Эти элементы добавляются в пустой список num_list.
  • Наконец, мы распечатываем список num_list.

Получить несколько значений от пользователя

Разработчик часто хочет, чтобы пользователь вводил несколько значений или входных данных в одну строку. InC++/C пользователь может принимать несколько входов в одной строке с помощью scanf, но в Python пользователь может принимать несколько значений или входов в одной строке двумя методами.

  • метод split()
  • Понимание списка

Использование метода split (): Эта функция помогает получить несколько входных данных от пользователя. Он разбивает данный вход на указанный разделитель. Если разделитель не предусмотрен, то любое пустое пространство является разделителем. Как правило, пользователь использует метод split() для разделения строки Python, но его можно использовать для получения нескольких входных данных.

а) раскол ()

функция split( ) помогает нам получить несколько входных данных от пользователя и назначить их соответствующим переменным в одной строке. Кроме того, эта функция обычно используется для разделения данной строки на несколько href=»https://en.wikipedia.org/wiki/Substring»>подстроки. Однако вы также можете использовать его для нескольких входов. Функция обычно разбивает заданный вход указанным разделителем, и в случае, если разделитель не предусмотрен, то любое пустое пространство рассматривается как разделитель. href=»https://en.wikipedia.org/wiki/Substring»>подстроки. Однако вы также можете использовать его для нескольких входов. Функция обычно разбивает заданный вход указанным разделителем, и в случае, если разделитель не предусмотрен, то любое пустое пространство рассматривается как разделитель.

Синтаксис использования функции split для приема нескольких входных данных следующий:

Пример разделения

б) входные данные ()

Вы можете взять несколько входов в одной строке, используя функцию raw_input несколько раз, как показано ниже.

в) карта()

map () — это еще одна функция, которая поможет нам получить несколько входных данных от пользователя. В общем случае синтаксис функции map-это map (fun, iter). Здесь fun-это функция, которой функция map передает каждую итерацию.

Синтаксис для нескольких входов с использованием map()

Пример для получения целочисленных входных данных от пользователя.

Пример для получения строкового ввода от пользователя.

г) Понимание Списка

Типы дат списка также помогают принимать несколько входных данных от пользователя одновременно. Синтаксис для создания списка и хранения входных данных в нем —

Этот список позволяет одновременно принимать несколько входных данных разного типа. Приведенный ниже пример поможет вам лучше понять.

Пример пользовательского ввода Python и EOFError

n Python 2, raw_input() возвращает строку, а input() пытается запустить ввод в виде выражения Python. Итак, изменение вашей первой строки на что-то вроде этого должно сработать.

EOFError возникает, когда встроенная функция, такая как input() или raw_input (), не считывает никаких данных до того, как столкнется с концом своего входного потока. Файловые методы, такие как read (), возвращают пустую строку в конце файла.

Данный код переписывается следующим образом, чтобы поймать ошибку EOFError и найти ее тип.

Выражения пользовательского ввода Python в командной строке

Функция user input() в Python вычислит любое выражение, введенное пользователем. Вот несколько примеров:

Различия между input() и raw_input()

Использование input или, лучше сказать, неявная оценка input часто приводила к серьезным ошибкам программирования в более ранних версиях Python, т. е. 2.x Поэтому там функция input ведет себя как функция raw_input из Python2.

функция input() работает по-разному между Python 3 и Python 2. Как input(), так и raw_input() функция принимает входные данные от пользователя.

Input и raw_input() в Python 2
  • Основное различие между этими двумя функциями заключается в том, что функция input() автоматически преобразует пользовательский ввод в соответствующий тип, т. е. если введенная пользователем строка input() преобразует ее в строку, а если пользователь ввел число, то она преобразует его в целое число.
  • raw_input() преобразует каждый пользовательский ввод в строку.

функция raw_input() python 2 переименована в input() в Python 3.x, а исходная функция input() удалена из Python 3.

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

Input и raw_input в функции в Python 3

В Python 3 функция raw_input() устарела и заменена функцией input() и используется для получения строки пользователя с клавиатуры. А функция input() Python 2 прекращена в версии 3. Чтобы получить ту же функциональность, которая была предоставлена функцией input() Python 2, оператор eval(input()) должен использоваться в Python 3.

Must Read: Лучшая книга для изучения Python в 2020 году

Вывод

Итак, в заключение мы можем сказать, что очень легко взять пользовательский ввод в Python из функции input (). Пользовательский ввод Python может быть легко взят с помощью input() и raw_input() в зависимости от версии Python, которую вы используете.

Если у вас все еще есть какие-либо сомнения, дайте мне знать ваши комментарии и отзывы в разделе ниже. Счастливого кодирования!

Похожие статьи