Demander une contribution en Python

Python intégréinput()lit une ligne du terminal et la renvoie sous forme de texte, suspendant l'exécution jusqu'à ce que l'utilisateur réponde. Cela en fait le moyen le plus rapide de collecter des données de manière interactive, que vous pouvez ensuite convertir en chiffres et valider si nécessaire.

Méthode 1 : Lire la saisie de texte avec une invite

Étape 1 :Demandez votre avis en utilisantinput()avec un message rapide.

name = input("Enter your name: ")

Étape 2 :Imprimez ou utilisez la valeur immédiatement.

print(f"Hello {name}")

Faits:input()arrête le programme jusqu'à ce que l'utilisateur appuie sur Entrée et renvoie une chaîne ; le texte d'invite apparaît sur la même ligne que le champ de saisie.

Méthode 2 : convertir l'entrée en nombres

Étape 1 :Convertissez des nombres entiers avecint()quand vous attendez des entiers.

Plus de lecture :Comment installer et utiliser les outils de saisie Google sur un PC Windows 10

age = int(input("Enter your age: "))

Étape 2 :Convertir des décimales avecfloat()lorsque vous attendez des valeurs à virgule flottante.

price = float(input("Enter a price: "))

Étape 3 :Importez les modules requis avant les opérations numériques (par exemple, racine carrée).

import math
x = float(input("Enter a number: "))
y = math.sqrt(x)
print(f"The square root of {x} is {y}")

Faits : la saisie de l'utilisateur est du texte par défaut ; convertir avecint()oufloat()avant les calculs.

Méthode 3 : valider et réinviter jusqu'à ce que la saisie soit correcte

Étape 1 :Enveloppez votre conversion dans untry/exceptbloquer pour gérer le texte invalide.

# one attempt
try:
    n = int(input("Enter an integer: "))
except ValueError:
    print("Invalid input.")

Étape 2 :Bouclez jusqu'à ce que l'utilisateur fournisse une valeur valide.

while True:
    try:
        n = float(input("Enter a number: "))
        break
    except ValueError:
        print("Wrong input, please try again.")

Ce modèle évite les erreurs d'exécution et guide l'utilisateur pour corriger la saisie.

Méthode 4 : lire plusieurs valeurs à partir d’une seule ligne

Étape 1 :Divisez une seule ligne d'entrée en parties avecsplit().

a, b = input("Enter two values separated by space: ").split()

Étape 2 :Associez chaque pièce à un numéro si nécessaire.

x, y = map(int, input("Enter two integers: ").split())
print("Sum:", x + y)

Cela rationalise la saisie de valeurs multiples pour les opérations numériques.

Méthode 5 : centraliser les invites avec un assistant réutilisable

Étape 1 :Créez une fonction qui convertit les entrées et applique les règles.

def ask(prompt, cast=str, validate=lambda _v: True, error="Invalid input."):
    while True:
        try:
            value = cast(input(prompt))
        except ValueError:
            print(error)
            continue
        if validate(value):
            return value
        print(error)

Étape 2 :Réutilisez-le pour les questions oui/non et les plages numériques.

# yes/no normalized to 'y' or 'n'
yn = ask("Continue (y/n)? ", cast=lambda s: s.strip().lower(),
         validate=lambda v: v in {"y", "n"},
         error="Please enter y or n.")

# menu option from 1 to 4
opt = ask("Choose 1-4: ", cast=int,
          validate=lambda v: 1 <= v <= 4,
          error="Enter a number between 1 and 4.")

Ce modèle générique réduit la duplication et reflète les conseils de la communauté sur l'utilisation des convertisseurs ainsi que des ensembles/prédicats de validation.

Méthode 6 : accepter les entrées des arguments de ligne de commande (non interactive)

Étape 1 :Lire les arguments desys.argvlors de l'exécution de scripts à partir d'un terminal.

import sys
print("Script:", sys.argv[0])
if len(sys.argv) > 1:
    print("Args:", sys.argv[1:])

Étape 2 :Transmettez les valeurs au moment de l’exécution au lieu de demander.

# example terminal command
python script.py Hello 42

Utilisez-le pour l'automatisation ou lorsque les invites bloquent l'exécution.

Méthode 7 : collecter les entrées dans une interface graphique simple (Tkinter)

Étape 1 :Construisez une fenêtre minimale avec unEntryetButton.

import tkinter as tk

def show():
    label.config(text=f"You entered: {entry.get()}")

root = tk.Tk()
entry = tk.Entry(root)
entry.pack()
tk.Button(root, text="Submit", command=show).pack()
label = tk.Label(root, text="")
label.pack()
root.mainloop()

Étape 2 :Lisez le texte dans le rappel et mettez à jour une étiquette.

Cela convient aux applications de bureau pour lesquelles les invites de la console ne sont pas appropriées.

Conseils rapides

  • Gardez les invites spécifiques afin que les utilisateurs saisissent le format correct la première fois.
  • Convertissez toujours le texte dans le type requis avant l'arithmétique (par exemple,int(),float()).
  • Utiliser des boucles avectry/exceptpour éviter les accidents et guider la correction.

Avecinput()comme base, ajoutez la conversion de type et la validation pour rendre les invites fiables, ou passez à l'entrée CLI/GUI lorsque les terminaux interactifs ne conviennent pas.

Related Posts