【问题标题】:How can I simplify my if condition in python?如何在 python 中简化我的 if 条件?
【发布时间】:2016-09-29 05:19:00
【问题描述】:

我想知道是否有更简单的方法来编写if 语句的条件。类似于item1, item2 == "wood":。我目前有这个代码:

item1 = input("item1: ")
item2 = input("item2: ")

if item1 == "wood" and item2 == "wood":
    print("You created a stick")

【问题讨论】:

  • 还有其他的写法,是的。这些方法是否更简单,这是旁观者的看法。对于两个项目,我会保持原样:它足够清晰和简洁。

标签: python if-statement conditional-statements simplify


【解决方案1】:

这不是很大的节省,但您可以取出 "wood" and

item1 = input("item1: ")
item2 = input("item2: ")

if item1 == item2 == "wood":
    print("You created a stick")

【讨论】:

    【解决方案2】:

    在这种特殊情况下,可以保持原样。但如果您有三个或更多元素,请尝试使用列表:

    items = [] # Declare a list
    
    # Add items to list
    for x in range(1, 4):
        items.append(input("item" + str(x) + ": "))
    
    if all(item == "wood" for item in items):
        print("You created a stick")
    

    【讨论】:

    • ...尽管您的示例仅从 1 变为 2。
    • @TimPietzcker OP 也是如此。 ;) 开个玩笑,那是无意的。
    【解决方案3】:

    你有两种方法。您可以对两个变量使用“==”。

    item1 = input("item1: ")
    item2 = input("item2: ")
    
    if item1 == item2 == "wood":
        print("You created a stick")
    

    你也可以使用 for 循环。但为此,您必须先使用列表。因此,如果您使用大量输入,这将有所帮助。

    list1=[]
    item1 = (input("item1: "))
    item2 = (input("item1: "))
    
    list1.append(item1)
    list1.append(item2)
    
    if all(item=="wood" for item in list1):
        print("You created a stick")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 2016-08-31
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 2016-07-26
      相关资源
      最近更新 更多