如何定义默认值,如果空的用户输入在Python中?

jgovgodb  于 2023-03-11  发布在  Python
关注(0)|答案(7)|浏览(144)

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

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

这里输入值后按Enter键,值就会被赋给变量input,有没有办法不输入值直接按Enter键,变量就直接赋给默认值,比如input = 0.025

k97glaaz

k97glaaz1#

巨蟒3:

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

巨蟒2:

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

它是如何工作的?
如果没有输入,input/raw_input返回空字符串。Python中的空字符串是Falsebool("") -> False。运算符or返回第一个真值,在本例中是"42"
这不是复杂的输入验证,因为用户可以输入任何内容,例如十个空格符号,然后将是True

ru9i0ody

ru9i0ody2#

你可以这样做:

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

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

olmpazwi3#

一种方法是:

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

另一种方式可以是:

input = raw_input("Number: ") or 0.025

同样的方法也适用于Python 3,但是使用input()

ip = input("Ip Address: ") or "127.0.0.1"
o75abkj4

o75abkj44#

您也可以使用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
wtlkbnrh

wtlkbnrh5#

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

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
sf6xfgos

sf6xfgos6#

上面的大多数答案都是正确的,但是对于Python 3.7,下面是你可以设置默认值的方法。

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

hmtdttj47#

下面是一个示例,用于验证用户输入是否为数字,并在用户未输入任何内容时设置默认值。

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))

相关问题