繁体   English   中英

python中的if / else语句

[英]If/else statements in python

我将如何使用清单中的if和else语句? 就像我有一个预制的列表一样,然后用户输入他们的列表,我将如何使其显示在我们输入相同答案的位置。 这是作业:

选择一个类别,并列出您最喜欢的五件事。 建议的类别包括您最喜欢的:演员,书籍,汽车或其他您选择的物品。

询问用户他们最喜欢的类别在您选择的类别中。

通过创建列表,循环和if语句,打印一条消息,让用户知道其收藏夹是否与列表中的收藏夹匹配。

将整个列表整齐地打印到屏幕上。 确保为每个项目编号。

编写该程序的伪代码。 确保包括任何需要的输入,计算和输出。

这是我当前的代码:

def main():

    print("What are your five favorite cars?")

    favoriteCarOne = input("What is your first favorite car?")
    favoriteCarTwo = input("What is your second favorite car?")
    favoriteCarThree = input("What is your third favorite car?")
    favoriteCarFour = input("What is your fourth favorite car?")
    favoriteCarFive = input("What is your fifth favorite car?")

    userCarList = [favoriteCarOne, favoriteCarTwo, favoriteCarThree, favoriteCarFour, favoriteCarFive]
    daltonCarList = ["Shelby", "Dodge HellCat", "Nissian GT-R R34", "Ford Focus RS", "Corvette ZR1"]

    for n in range(0, len(userCarList)):
        print(str(n) + " " + userCarList[n])


    daltonLength = len(daltonCarList)
    userLength = len(userCarList)

    if (userCarList == daltonCarList):
        print("Cool! We like the same cars!")
        print

    else:
        print("Those are cool cars!")
        print

    print("These are my favorite cars!")
    print(daltonCarList)
    print


main()

列表理解是您的朋友!

matched = [i for i in daltonCarList if i in userCarList]

if matched:
    print "Cool, we liked some of the same cars!"
    print matched

此代码将产生一个新列表,其中包含来自道尔顿和用户的匹配项。

如果要查看两个列表是否完全相同,答案就在这里

Python可以比较两个列表:

a = ["Shelby", "Dodge HellCat", "Nissian GT-R R34", "Ford Focus RS", "Corvette ZR1"]
b = ["Shelby", "Dodge HellCat", "Nissian GT-R R34", "Ford Focus RS", "Corvette ZR1"]

if a == b:
    print("They are the same")
else:
    print("They are different")

# Outputs: They are the same

但是,如果它们的顺序不同,则将无法使用:

a = ["Shelby", "Dodge HellCat", "Nissian GT-R R34", "Ford Focus RS", "Corvette ZR1"]
b = ["Dodge HellCat", "Shelby", "Nissian GT-R R34", "Ford Focus RS", "Corvette ZR1"]

if a == b:
    print("They are the same")
else:
    print("They are different")

# Outputs: They are different

根据需求,您似乎需要检查所有元素都存在于两个列表中,但不一定要按顺序检查。 最简单的方法可能是使用两个set ,但是似乎需要使用循环。

相反,也许尝试使用not in关键字来检查汽车是否存在。 例如:

for car in their_cars:
    if car not in my_cars:
        print("Oh no, a car that's not in my list")

警告,这不会完成。 假设有人输入"Shelby" 5次,它将通过。 因此,您需要将其反转并向后检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM