(python)实现用户多输入的最佳方法
我向我的用户询问信息,我倾向于有很多输入字段,我发现一行接一行地使用输入是非常重复的 当前代码:(python)实现用户多输入的最佳方法,python,input,Python,Input,我向我的用户询问信息,我倾向于有很多输入字段,我发现一行接一行地使用输入是非常重复的 当前代码: a= input(str("a value: ")) b= input(str("b value: ")) c= input(str("multiple c values: ")).split(" ") (值已从我的项目中更改,但用途相同) 我的所有输入字段都按预期工作,但我想清理代码。注意,如果您有特殊情况(c),您无论如何都必须单独处理。忽略特殊情况,您可以按照以下方式使用dict: v
a= input(str("a value: "))
b= input(str("b value: "))
c= input(str("multiple c values: ")).split(" ")
(值已从我的项目中更改,但用途相同)
我的所有输入字段都按预期工作,但我想清理代码。注意,如果您有特殊情况(
c
),您无论如何都必须单独处理。忽略特殊情况,您可以按照以下方式使用dict:
val = {}
keys = ['a', 'b']
for key in keys:
val[key] = input(key+(" value: "))
然后在代码中使用val['a']
而不是a
如果您不想在任何地方使用dict并且必须使用val[…]
,则可以使用此行
globals()[key] = input(key+(" value: "))
您可以使用字典来存储输入,其中键是变量,值是问题。然后在循环中用输入替换值/问题 示例代码:
dictr = {"a": "a value: ", "b": "b value: ", "c": "multiple c values: "}
for key, value in dictr.items():
dictr[key] = input(value).split(" ")
print(dictr)
输出:
a value: a
b value: b
multiple c values: a b c
{'a': ['a'], 'b': ['b'], 'c': ['a', 'b', 'c']}
将代码分成问题和提问,如下所示:
# question and whether it's a multi one
questions={"a": False,
"b": False,
"c": True}
answers={}
for k, v in questions.items():
q="multiple {} values: " if v else "{} value: "
answers[k]=input(q.format(k))
print(answers)
编写一个包含提示和名称列表的函数,并返回一个将名称映射到响应的字典。在调用
str
时不需要包装str
文本。我喜欢这样:)只是为了放慢键入我的速度:dw如果a
的所需值是'a'
,这就是我键入上述代码时的问题,他只需要操纵列表并使用.join()