如何使输入语句可选?

时间:2019-07-12 09:34:38

标签: python python-3.x

当我试图编写一个程序来计算对Python的简单兴趣时,我遇到了一个小问题。

def si(p,r=100,t=2):
    return (p*r*t)/100
x=float(input("Enter principal amount"))
y=float(input("Enter rate"))
z=float(input("Enter time"))
print (si(x,y,z))

我想使y和z为可选。知道我该怎么办吗?如果我将其保留为空白,然后按Enter,则显示错误。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用or     def si(p,r,t):         返回(p r t)/ 100

x = float(input("Enter principal amount: "))
y = float(input("Enter rate: ") or 100)
z = float(input("Enter time: ") or 2)

print (si(x,y,z))

Enter principal amount: 1
Enter rate: 
Enter time: 
2.0

但是正确的方法是在将输入转换为浮点之前验证输入

def si(p,r=100,t=2): 
    return (p*r*t)/100 

x = input("Enter principal amount: ") 
y = input("Enter rate: ") 
z = input("Enter time: ") 

def validate(param): 
    return float(param) if param else 1

print (si(validate(x), validate(y), validate(z))) 

输出:

Enter principal amount: 1
Enter rate: 
Enter time: 
0.01