Fonction input() de Python3
Fonctions intégrées de Python3
input()La fonction obtient l'entrée utilisateur depuis l'entrée standard (clavier) et renvoie untype chaîne (str)。
Remarque :
input()Quel que soit ce qui est saisi, la valeur de retour est toujours une chaîne. Si des calculs numériques sont nécessaires, vous devez effectuer manuellement la conversion de type (par ex.,int()、float())。
Syntaxe de la fonction
input([prompt])
Description des paramètres :
- prompt:Facultatif, le message invitant l'utilisateur à saisir une entrée
Exemple
input()Obtenir l'entrée utilisateur et la renvoyer sous forme de chaîne.
Utilisation de base de input()
Même si un nombre est saisi, la valeur de retour reste une chaîne.
Problèmes de type (pièges courants)
Remarque :Les valeurs obtenues directement avec input() ne peuvent pas participer à des calculs numériques.
Exemple incorrect :
>>> a = input("请输入数字:")
>>> print(a + 1)
TypeError: can only concatenate str (not "int") to str
Approche correcte :
>>> a = int(input("请输入数字:"))
>>> print(a + 1)
Réception de plusieurs valeurs avec input()
split()Divise l'entrée par les espaces en un tableau de chaînes de caractères.
Exemple
a, b, c = input("Veuillez saisir trois nombres :").split()
# Convertir les types
a = int(a)
b = int(b)
c = int(c)
print(a, b, c)
Utilisermap()peut effectuer la conversion de type en une seule étape, ce qui rend le code plus propre.
Approche recommandée (avancée)
a, b, c = map(int, input("Veuillez saisir trois nombres :").split())
print(a, b, c)
Exercice : Calcul de l'aire d'un triangle
a, b, c = map(int, input("Veuillez saisir les longueurs des trois côtés du triangle :").split())
# Calculer le demi-périmètre
p = (a + b + c) / 2
# Calculer l'aire à l'aide de la formule de Héron
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("L'aire du triangle est :", format(s, '.2f'))
Résultat de l'exécution:
请输入三角形三边的长:3 4 5 三角形面积为: 6.00
Résumé des utilisations courantes
input("提示"): Saisie avec inviteinput(): Saisie sans inviteint(input()): Obtenir un entierfloat(input()): Obtenir un flottantinput().split(): Obtenir plusieurs chaînesmap(int, input().split()): Obtenir plusieurs entiers (recommandé)
Différences entre Python2 et Python3
En Python2 :
raw_input(): Renvoie une chaîneinput(): Exécute l'expression (comporte des risques de sécurité)
En Python3 :
- Uniquement conservé
input() - Renvoie uniformément une chaîne, plus sûr et plus facile à comprendre
Résumé essentiel
Résumé en une phrase :
input() = 获取输入 + 返回字符串
- Renvoie une chaîne par défaut
- Doit convertir les types lorsqu'elle participe à des calculs
- Pour plusieurs entrées, il est recommandé d'utiliser split() + map()
Autres extensions