如果输入为空,我将尝试获取默认值,如何才能做到这一点?
如果没有用户输入,则输出变量是空的。
Brand_default = 'ABC','XYZ'
cate_default = 'GKK','KKL','MKK','UKK'
Brand = list(input('Please enter Brand? (ABC/XYZ)= ').split(',') or Brand_default)
Cate = list(input('Please enter Category?GKK,KKL,MKK,UKK = ').split(',') or cate_default) 发布于 2022-08-28 09:44:35
您的逻辑需要决定值是否为空,如果不是,则拆分。不幸的是,这意味着您本来相当优雅的or公式将无法工作。
def split_or_default(prompt, default):
response = input(prompt + " (" + "/".join(default) + ") ")
if response == "":
return default
return response.split(",")
Brand = split_or_default(
'Please enter Brand?',
['ABC','XYZ'])
Cate = split_or_default(
'Please enter Category?',
['GKK','KKL','MKK','UKK'])还请注意,默认值现在也是如何列出的。我认为您的代码可以处理列表或元组,但这似乎是一个不受欢迎的复杂问题。
切线上,您可能应该删除“请输入”部分的提示。礼貌是很好的,但是在用户界面中,简洁是更友好的。
在值之间需要逗号也有点麻烦。如果某些值可以包含空格,则需要输入明确;但如果这些示例具有代表性,则可以在空格上拆分。
为了与干原理保持一致,我将重复的代码重构为一个函数。
https://stackoverflow.com/questions/73517443
复制相似问题