【问题标题】:User Input if/elif output fixed information用户输入 if/elif 输出固定信息
【发布时间】:2020-09-13 19:53:39
【问题描述】:

基本上,我正在努力弄清楚如何根据用户输入最好地执行输出语句。

我想运行代码,询问用户客户端的名称,如果它与某个名称匹配,则返回特定信息,如果名称是另一个名称,则返回不同的信息,我相信这将通过 ELIF 语句完成但我不确定并且之前在运行它时遇到过问题,感谢任何建议......

client = input("Who is the client: ")
if client == "Jason":
    print("Age: 26, Work: Marketing, Office: LA")

【问题讨论】:

  • 你的问题不是很清楚。您可以添加 2-3 个不同输入值和预期输出值的示例吗?你谈论不同的行为,但只举一个例子。这让你很难弄清楚你需要什么。
  • 欢迎回到 SO!请使用tour 并阅读How to Ask。不清楚你在问什么,因为elif 正是你会使用的,尽管它是DRYer 到use a dict。请edit 澄清。另见minimal reproducible example
  • 您的问题仍然不是很清楚,但基于以下如果名称是另一个名称返回不同的信息如果您想要client 不是@987654330 的一般情况@ 并且可以是您使用的任何东西 else,如果您想要一个非常具体的案例,例如当 clientJhon 时,您将使用 elif client=="Jhon"
  • 我刚刚注意到您在if 语句中缺少一个冒号,并且缩进是错误的。你问的是这个吗?

标签: python function if-statement input


【解决方案1】:

我建议不要使用大量的if/elif,而是创建一个人员字典并这样做。它会更容易实施,看起来更干净且整体上更快。

clients = {
    "jason": {
        "age": 26,
        "work": "Marketing",
        "office": "LA"
        },
    # other clients go here
    }

client = input("Who is the client: ")
if client.lower() in clients:
    print(clients[client.lower()])

我在名称上使用了lower() 使其不区分大小写。

但是,如果您真的确实想使用if-statements

if client == "Jason":
    # print Jason's info
elif client == "Dave":
    # print Dave's info
elif ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2010-12-05
    • 1970-01-01
    相关资源
    最近更新 更多