python中空用户输入的默认值

时间:2014-03-14 10:33:31

标签: python default

如果用户从键盘输入值,我必须设置默认值。以下是用户可以输入值的代码:

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

此处输入值后,该值将分配给变量input并点击“回车”,是否存在任何方法,如果我们不输入值并直接点击“回车”键,变量将直接分配默认值为input = 0.025

7 个答案:

答案 0 :(得分:43)

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

它是如何运作的?

如果未输入任何内容,则raw_input将返回空字符串。 python中的空字符串是False bool("") -> False。运算符or返回第一个trufy值,在本例中为"42"

这不是复杂的输入验证,因为用户可以输入任何内容,例如十个空格符号,然后是True

答案 1 :(得分:11)

你可以这样做:

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

Enter the inputs : 
>>> input
0
>>> 

答案 2 :(得分:2)

其中一种方法是 -

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

另一种方式可以是 -

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

答案 3 :(得分:0)

您可以先输入一个字符串,然后检查零长度和有效数字:

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

答案 4 :(得分:0)

上面的大多数答案都是正确的,但对于Python 3.7,您可以执行以下操作来设置默认值。

user_input = input("is this ok ? - [default:yes] \n")
if len(user_input) == 0 :
    user_input = "yes"

答案 5 :(得分:0)

您也可以使用click library,它为命令行界面提供了许多有用的功能:

import click

number = click.prompt("Enter the number", type=float, default=0.025)
print(number)

输入示例:

Enter the number [0.025]: 
 3  # Entered some number
3.0

Enter the number [0.025]: 
    # Pressed enter wihout any input
0.025

答案 6 :(得分:0)

这里是一个示例,用于验证用户输入是否为数字,并且如果他什么也不输入,还设置默认值。

while True:
    luckyNo = input("Enter your lucky number - [default:108]: ").strip()
    if luckyNo.isdigit(): # check if user entered a number
        luckyNo = int(luckyNo) # convert entered number to integer
        break
    else:  
        if not luckyNo: # user entered nothing
            print("You entered nothing. Using default value...")
            luckyNo = 108 # set default value
            break
        else: # user entered something other than a number
            print("Wrong input!. Try again.")

print("Your lucky number is " + str(luckyNo))