首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要为Python中的列表设置多个输入的默认值

需要为Python中的列表设置多个输入的默认值
EN

Stack Overflow用户
提问于 2022-08-28 09:19:26
回答 1查看 68关注 0票数 -1

如果输入为空,我将尝试获取默认值,如何才能做到这一点?

如果没有用户输入,则输出变量是空的。

代码语言:javascript
复制
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) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-28 09:44:35

您的逻辑需要决定值是否为空,如果不是,则拆分。不幸的是,这意味着您本来相当优雅的or公式将无法工作。

代码语言:javascript
复制
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'])

还请注意,默认值现在也是如何列出的。我认为您的代码可以处理列表或元组,但这似乎是一个不受欢迎的复杂问题。

切线上,您可能应该删除“请输入”部分的提示。礼貌是很好的,但是在用户界面中,简洁是更友好的。

在值之间需要逗号也有点麻烦。如果某些值可以包含空格,则需要输入明确;但如果这些示例具有代表性,则可以在空格上拆分。

为了与干原理保持一致,我将重复的代码重构为一个函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73517443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档