使用用户输入或根本不使用该部分输入

问题描述 投票:0回答:1

是否可以仅使用用户输入的部分内容,而忽略未给出输入的部分?

假设我想计算一个充满液体的圆柱体的使用体积。我会要求用户输入,例如圆柱体的体积和圆柱体的高度一起给出,那么程序应该能够返回圆柱体的直径,周长,表面积,...

假设用户只能提供直径和填充百分比,程序应该能够返回与之前相同的内容。

我尝试按如下方式请求输入:

volume = float(input("volume in qubic meters: ") or None
diameter = float(input("tankdiameter: ") or None
# etc...

然后我会写一个类:

class object:
    __init__(volume, diameter, heigth, fill_percentage, radius, circumference, surface_area,...)

    self.volume = volume
    # etc...

接下来,类中将有函数来计算未提供的项目,例如,如果给出高度和直径,则会计算体积。但我被用户的输入困住了。 最终的想法是出现一个 GUI,其中输入字段链接到代码。

有什么建议吗?

python
1个回答
0
投票

您可以尝试以下方法:

try:
    a = float(input("a: "))
except ValueError:
    a = None

如果用户未输入任何内容或字符串,则将 a 设置为 None。因此,输入 true 和 'asdf' 将不起作用,但输入 22、21.0、22.3 将起作用。 (整数值仅转换为 x.0)

如果愿意,您可以将其放入函数中,以 x 作为参数,设置 x 的值,然后返回它。取决于您的用例。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.