python-3.x 如何得到一个null input?

qoefvg9y  于 2023-05-30  发布在  Python
关注(0)|答案(2)|浏览(124)

我希望用户只输入所需变量的值(例如:如果需要获得功率,则忽略输入功率,仅输入剩余变量)。我真的很感激你的帮助。
代码:

Power = int(input("Power: "))
Current = int(input("Cuurent: "))
Voltage = int(input("Voltage: "))
def P(C,V):
    return C * V
def C(P,V):
    return P / V
def V(P,C):
    return P / C
if Power == None:
    print(P(Current,Voltage))
elif Current == None:
    print(C(Power,Voltage))
else:
    print(V(Power,Current))

错误:

Traceback (most recent call last):
  File "C:\Users\tharu\Desktop\Python.py", line 1, in <module>
    Power = int(input("Power: "))
ValueError: invalid literal for int() with base 10: ''
oxiaedzo

oxiaedzo1#

不要立即将其转换为int,并检查输入的真实性

Power = input("Power: ")
Current = input("Cuurent: ")
Voltage = input("Voltage: ")
def P(C,V):
    return C * V
def C(P,V):
    return P / V
def V(P,C):
    return P / C
if not Power:
    print(P(int(Current),int(Voltage)))
elif not Current:
    print(C(int(Power),int(Voltage)))
else:
    print(V(int(Power),int(Current)))

>>> Power:
>>> Cuurent: 2
>>> Voltage: 20
40

空字符串将报告False,因此您可以使用该事实来了解哪个输入为空。一旦知道了这一点,就可以在这部分代码中将其他代码转换为int

smdnsysy

smdnsysy2#

您得到此错误是因为您将输入留空。您需要输入一个整数值,否则可以设置输入函数的条件或使用命令行参数。

相关问题