web-dev-qa-db-fra.com

valeurs par défaut pour une entrée utilisateur vide en python

Ici, je dois définir la valeur par défaut si l'utilisateur va entrer la valeur à partir du clavier. Voici le code que l'utilisateur peut entrer valeur:

input= int(raw_input("Enter the inputs : "))

ici, la valeur sera affectée à la variable input après avoir entré la valeur et appuyé sur 'Entrée'. Existe-t-il une méthode qui, si nous n'entrons pas de valeur et n'appuyons pas directement sur la touche 'Entrée', et la variable affectera directement la valeur par défaut, telle que input = 0.025.

14
lkkkk
input = int(raw_input("Enter the inputs : ") or "42")

Comment ça marche?

Si rien n'a été entré, raw_input renvoie une chaîne vide. La chaîne vide en python est Falsebool("") -> False. L'opérateur or renvoie la première valeur trufy, qui dans ce cas est "42".

Ce n’est pas une validation d’entrée sophistiquée, car l’utilisateur peut entrer n'importe quoi, par exemple, dix symboles d'espace, qui seraient alors True.

38
aisbaa

Vous pouvez le faire comme ça:

>>> try:
        input= int(raw_input("Enter the inputs : "))
    except ValueError:
        input = 0

Enter the inputs : 
>>> input
0
>>> 
10
piokuc

Un des moyens est -

default = 0.025
input = raw_input("Enter the inputs : ")
if not input:
   input = default

Une autre façon peut être -

input = raw_input("Enter the inputs : ") or 0.025
2
anuragal

Vous pouvez d'abord entrer une chaîne, puis vérifier la longueur zéro et le nombre valide:

input_str = raw_input("Ender the number:")

if len(input_str) == 0:
    input_number = DEFAULT
else:
    try:
        input_number = int(input_str)
    except ValueError:
        # handle input error or assign default for invalid input
0
Ber