Функция input() в Python3

Python3 内置函数Встроенные функции Python3

input()Функция получает ввод пользователя из стандартного ввода (клавиатуры) и возвращаетстроковый тип (str)。

Примечание:input()Независимо от того, что введено, возвращаемое значение всегда является строкой. Если требуются числовые вычисления, необходимо вручную выполнить преобразование типа (например,int()、float())。

Синтаксис функции

input([prompt])

Описание параметров:

  • prompt:Необязательно, сообщение, приглашающее пользователя к вводу

Пример

input()Получает ввод пользователя и возвращает его в виде строки.

Базовое использование input()

>>>name = input("Пожалуйста, введите ваше имя:")Пожалуйста, введите ваше имя: Xiao Ming >>>print("Привет,", name)Привет, Xiao Ming

Даже если введено число, возвращаемое значение всё равно является строкой.

Проблемы с типами (распространённые ошибки)

>>>a = input("Пожалуйста, введите число:")Пожалуйста, введите число:123 >>> type(a) <class 'str'>

Примечание:Значения, полученные непосредственно с помощью input(), не могут участвовать в числовых вычислениях.

Неправильный пример:

>>> a = input("请输入数字:")
>>> print(a + 1)
TypeError: can only concatenate str (not "int") to str

Правильный подход:

>>> a = int(input("请输入数字:"))
>>> print(a + 1)

input() Получение нескольких значений

split()Разделяет ввод по пробелам на массив строк.

Пример

# Введите несколько значений (разделённых пробелами)
a, b, c = input("Пожалуйста, введите три числа:").split()

# Преобразование типов
a = int(a)
b = int(b)
c = int(c)

print(a, b, c)

Используйтеmap()позволяет выполнить преобразование типов за один шаг, делая код чище.

Рекомендуемый подход (для продвинутых)

# Выполнить разделение + преобразование за один шаг
a, b, c = map(int, input("Пожалуйста, введите три числа:").split())

print(a, b, c)

Практика: Вычисление площади треугольника

# Введите три стороны треугольника
a, b, c = map(int, input("Пожалуйста, введите длины трёх сторон треугольника:").split())

# Вычислить полупериметр
p = (a + b + c) / 2

# Вычислить площадь по формуле Герона
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5

print("Площадь треугольника равна:", format(s, '.2f'))

Результат выполнения:

请输入三角形三边的长:3 4 5
三角形面积为: 6.00

Сводка по типичному использованию

  • input("提示"): Ввод с приглашением
  • input(): Ввод без приглашения
  • int(input()): Получить целое число
  • float(input()): Получить число с плавающей запятой
  • input().split(): Получение нескольких строк
  • map(int, input().split()): Получение нескольких целых чисел (рекомендуется)

Различия между Python2 и Python3

В Python2:

  • raw_input(): Возвращает строку
  • input(): Выполняет выражение (есть риски безопасности)

В Python3:

  • Оставлен толькоinput()
  • Единообразно возвращает строку — безопаснее и понятнее

Краткое резюме

Итог в одном предложении:

input() = 获取输入 + 返回字符串
  • По умолчанию возвращает строку
  • Необходимо преобразовывать типы при участии в вычислениях
  • Для нескольких входных данных рекомендуется использовать split() + map()

Python3 内置函数Встроенные функции Python3

Другие расширения