Автор оригинала: Shubham Sayon.
Резюме : Читать входы от пользователя и преобразовать его в целое число, используйте команду int (вход ('Prompt')))
для Python 3 и Ввод («Подсказка»)
для Python 2. Чтобы преобразовать пользовательский ввод в значение FLOAT, используйте поплавок (вход ('Prompt'))
.
Как программист, пользовательский ввод является одним из основных компонентов вашей программы, если вы хотите сделать свой код интерактивным и удобным для пользователя.
Обработка пользовательского ввода в Python проще, чем большинство других языков программирования.
Тем не менее, пользовательский ввод может варьироваться в зависимости от требований. Например: вы можете принять численное значение в качестве ввода, в то время как в другой момент в вашем коде вам может потребоваться принять строку в качестве ввода. Python поможет вам с легкостью различать такие сценарии, и мы обсудим один из этих сценариев, где вы должны принять ввод пользователя в качестве числового значения. Итак, давайте погрузимся в критический вопрос:
Проблема: как читать численный вход от пользователя?
Чтобы продемонстрировать наше решение мы будем писать небольшой кусок кода для отображения работы Базовый калькулятор Отказ Я надеюсь, что это увлекает вас, особенно потому, что я верю, что лучший способ покорить любую тему или концепцию – это решать реальные проблемы. Но перед чем-либо еще мы должны быть тщательно с некоторыми понятиями. Мы должны понимать, как читать численные входы от пользователя, а затем использовать их для расчетов позже.
Решение 1: числовые входы в Python 3.x
Python 3.x имеет встроенную функцию под названием вход () который используется для принятия пользовательских входов; Тем не менее, он всегда читает пользовательский ввод в виде строки (подключен к типеке) и не может быть использован для численных операций. Таким образом, для решения этой ситуации вы должны явно преобразовать пользователь ввод в числовое значение.
Чтение ввода пользователя в качестве целочисленного значения
Чтобы прочитать ввод пользователя в качестве целочисленного значения, вы можете принять ввод пользователя, используя функцию ввода (), а затем преобразовать его в целое число, используя встроенный int () функция. Следуйте за кодом, приведенным ниже для получения лучшего захвата этой концепции.
a = int(input("Enter a number: ")) print("The data-type of variable a is: ", type(a)) print("Value of a: ", a)
Выход
Enter a number: 5 The data-type of variable a is: Value of a: 5
▣ Вы также можете принять номер с любой базой (двоичный, восьмеричный, шестнадцатеричный), а затем преобразовать его в целочисленное значение, используя функцию int (). Пожалуйста, посмотрите на следующий код, который демонстрирует эту концепцию.
Внимание: если вы введете неправильное значение, вы получите ValueError Действительно
binary = int(input("Enter a binary number: "), 2) print("Decimal equivalent: ", binary) octal = int(input("Enter an octal number: "), 8) print("Decimal equivalent: ", octal) hexadecimal = int(input("Enter a binary number: "), 16) print("binary equivalent: ", hexadecimal)
Выход:
Enter a binary number: 1111 Decimal equivalent: 15 Enter an octal number: 17 Decimal equivalent: 15 Enter a binary number: F binary equivalent: 15
Чтение пользовательского ввода в качестве десятичного значения (float)
Чтобы прочитать ввод пользователя в качестве десятичного (Float) значение, вы можете принять пользовательский ввод с использованием функции ввода (), а затем преобразовать его в значение FLOAT, используя встроенный Функция float (). Следуйте за кодом, приведенным ниже для получения лучшего захвата этой концепции.
a = float(input("Enter a number: ")) print("The data-type of variable a is: ", type(a)) print("Value of a: ", a)
Выход:
Enter a number: 100.25 The data-type of variable a is:Value of a: 100.25
Решение 2: числовые входы в Python 2.x
В Python 2.x были две функции, которые использовались для чтения пользовательского ввода. Эти функции были:
- сырой ввод()
- Вход()
Разница между RAW_INPUT и функциями ввода в Python 2.x
сырой ввод() | Вход() |
Читает ввод пользователя и возвращает его как строку. Он не выполняет никакой оценки пользовательского ввода. | Принимает пользовательский ввод и возвращает результат оценки выражения / оператора внутри пользовательского ввода. |
Не ожидает синтаксически правильных заявлений. | Как правило, ожидает синтаксически правильные заявления. |
Следовательно, вы можете использовать функцию ввода () в Python 2.x, чтобы принять целое число и выполнять любую работу на нем. Здесь преобразование типа выполняется автоматически.
Следующий код демонстрирует использование функции ввода () в Python 2.x:
value=input("Enter a number: ") print(value)
Выход:
Enter a number: 100+100 200
Однако необходимо быть очень осторожным при использовании функции ввода () в Python 2.x, поскольку она имеет проблемы безопасности. Хотите знать, как? Посмотрите на примерный сценарий, приведенный ниже, и вы обязательно поймете его недостаток.
Пример : Если в программе ОС Модуль был импортирован и на входе () функция пользовательских типов os.Remove («/etc/hosts») тогда /etc/hosts Файл, который отвечает за преобразование имена хостов на IP-адреса, будут удалены одновременно.
Примечание : RAW_INPUT () Функция «больше не применима» в версиях Python 3.x. Функция ввода () в Python 3.x аналогична функции RAW_INPUT () в Python 2.x.
Интерактивный пример в вашем браузере
Перед упаковкой. Давайте напишите код для базового калькулятора и получите некоторую практику для чтения численных пользовательских входов, а затем выполните определенные математические операции на этих входах.
Попробуй сам : Запустите следующую программу в вашем браузере.
Упражнение : Попробуйте три разных итерации программы!
Заключение
После изучения этой статьи вы не столкнетесь с любой проблемой с чтением числовых пользовательских входов. Я надеюсь, что это помогло вам в вашем путешествии Python. Оставайтесь настроиться на более интересные статьи и примеры в будущем!
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @:
Оригинал: “https://blog.finxter.com/how-to-read-inputs-as-numbers-in-python/”