Как Python получает пользовательский ввод

Python
Как Python получает пользовательский ввод

Данная статья была впервые опубликована на паблике "Юантианган", просьба указывать источник для перепечатки, спасибо!

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

Python намного проще, чем Java, чтобы «получить» данные, введенные пользователем, просто изучитеinput()метод.

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

1. Как работает функция input()

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

Например, следующая программа просит пользователя ввести свой возраст (не для того, чтобы судить, могут ли они голосовать в данный момент), а затем выводит возраст пользователя:

age = input("小盆友,今年多大啦?请在下方输入你的年龄:\n")
print("我今年 " + age + " 岁")

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

В приведенном выше примере мы передаемinput()Параметры функцииМаленькие друзья, сколько вам лет в этом году? Пожалуйста, введите свой возраст ниже:\n. Программа выведет этот параметр в консоль, и пользователь увидит этот параметр (подсказка).

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

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

Не смотрите на короткую программу выше, она на самом деле содержит много информации:

  1. Если вам нужна подсказка для пользователя, передайте подсказку (обычно строку) вinput()метод. Конечно, вы также можете ничего не передавать, и программа все равно будет выполняться нормально, но пользовательский опыт не очень хорош;

  2. Что бы ни ввел пользователь, Python преобразует его в str.

Что касается второго пункта, давайте разберемся подробнее:

age = input("小盆友,今年多大啦?请在下方输入你的年龄:\n")
print(type(age))

мы помещаем переменнуюageВзгляните на вывод типа данных:

Вы можете видеть, что ввод «18» действительно имеет тип str, что объясняет, почему в приведенном выше кодеageВы можете напрямую соединять строку без преобразования.

2. Порядок голосования

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

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

Но процесс голосования должен использовать цифры для сравнения размеров, понимаете."18"и18Это другое.Первый — это строка, а второй – число. Только число 18 может напрямую выполнять сравнения, такие как "больше", "меньше" или "равно".

Вопрос: Как преобразовать тип str в целочисленный тип?

Ответ: использовать функциюint(), параметр — это строка для преобразования.

age = input("小盆友,今年多大啦?请在下方输入你的年龄:\n")
print(type(age))
# 把str类型转化成int类型
n = int(age)
print(type(n))

Ставим переменную типа strageПреобразуется в тип int и присваивается переменнойn,такtype(n)Вывод должен быть типа int.

Как видно на картинке, конверсия действительно удалась.

**Сводка: **тип str в тип int, используйтеint()преобразованная строка должна быть целочисленной по форме, но str.

Теперь, когда все готово, давайте вместе реализуем процесс голосования:

name = input("请输入你的姓名:")
age = input("请输入你的年龄:")
age = int(age)
if age >= 18:
    print(name + ",你已达到法定投票年龄!")
else:
    print(name + ",很遗憾,你暂时无法参与投票!")

Сначала мы определяем две переменныеnameиageполучить имя и возраст, введенные пользователем. Следует отметить, что в настоящее время обе переменные имеют тип str.

Затем возраст, введенный пользователем, необходимо сравнить с законным возрастом для голосования (18), поэтому возраст, введенный пользователем, должен быть целочисленным типом, поэтому используется функцияint(). О понятии функции в статье речь пойдет позже.Если у вас нет смежных понятий, то можно понять это как черный ящик.В него не нужно вникать, нужно только знать функцию.int()После некоторой обработки тип str может быть преобразован в тип int.

Наконец, сравните это с 18. Те, кто больше или равен 18, могут голосовать, в противном случае они не могут голосовать.

Результат забега для старше или равного 18 годам:

Результаты забега до 18 лет:

3. Определить нечетные и четные числа

Написав это, с одной стороны, хочется закрепить и потренироватьсяinput()function, с другой стороны, я хочу рассказать об очень важном операторе, который не упоминался в предыдущих статьях —%Модульный оператор.

Друзья могут добавить(+),уменьшать(-),брать(*),Удалить(/),сила(**) очень знакомо. Забытые одноклассники могут нажатьсм. мою статью.

Оператор по модулю вычисляет остаток от деления двух чисел.

Используйте оператор по модулю для вычисления графических выражений:

23 % 5

Результат должен быть 3.

Ближе к дому, как судить, является ли число нечетным или четным?

Мы знаем, что число, которое делится на 2, является четным числом, а число, которое не делится на 2, является нечетным числом. Разделение означает, что остаток равен 0, и это именно то, в чем хорош оператор по модулю %.

Предположим, что существует некоторое целое число X, если:

X % 2 == 0 # X和2求模余数是0

Это означает, что X четно, иначе X должно быть нечетным.

После понимания основных идей приступайте к программированию:

number = input("请输入一个整数,程序将自动判断奇偶:")
number = int(number)

if number % 2 == 0:
    print("\n数字" + str(number) + " 是偶数")
else:
    print("\n数字" + str(number) + " 是奇数")

Сначала определите переменнуюnumberЧтобы получить целочисленный ввод от пользователя, вы должны знать в своем сердцеnumberПолученный тип — str, который не может напрямую выполнять операцию по модулю с 2.

Затем переменная типа strnumberПреобразуется в тип int, затемnumberВы можете выполнить операцию по модулю с 2.

Окончательное суждение результата по модулюnumberЕсли остаток от деления на 2 равен 0, если он равен 0, то он четный, иначе нечетный.

результат операции:

Оператор по модулю по-прежнему часто используется в программировании.Он так же важен, как сложение, вычитание, умножение и деление.Если вы не использовали его раньше, имейте его в виду.

4. Вывод

Эта статья посвященаinput()Основное использование функции, кстати, как преобразовать тип str в тип int и использовать оператор по модулю.

Если эта статья была вам полезна, ставьте лайк, пересылайте и добавляйте в избранное~

Или, если у вас есть какие-либо вопросы, вы можете отсканировать код, чтобы подписаться на общедоступную учетную запись ниже и связаться со мной в любое время.Статьи, связанные с Python, также будут впервые опубликованы на этой общедоступной платформе.

Наконец, спасибо за чтение и увидимся в следующий раз.