Python中If/else语句的列表应用及相关作业实现咨询
嘿,我来帮你搞定这个问题!咱们拿科幻书籍这个类别举例子,用Python一步步实现你要的功能(语法直观,新手也能快速理解):
完整实现代码
# 第一步:定义我的预设最爱列表(5本科幻书籍) my_favorite_books = ["《沙丘》", "《三体》", "《银河系漫游指南》", "《基地》", "《神经漫游者》"] # 第二步:获取用户输入,转成列表 user_input = input("请输入你最喜欢的5本科幻书籍,用逗号分隔:") # 处理输入:拆分字符串、去掉每本书名前后的空格 user_favorites = [book.strip() for book in user_input.split(",")] # 第三步:判断列表是否完全匹配(顺序+内容一致) if user_favorites == my_favorite_books: print("哇哦!我们输入了相同的答案!") else: # 进阶:找出共同喜欢的书籍 common_picks = [book for book in my_favorite_books if book in user_favorites] if common_picks: print(f"虽然列表不一样,但我们都喜欢这些书:{', '.join(common_picks)}") else: print("看来我们的科幻口味完全不同呀!") # 额外:用循环逐个检查每一项(满足作业的「循环+If语句」要求) print("\n--- 逐个对比我们的书单 ---") for book in my_favorite_books: if book in user_favorites: print(f"✓ 你也喜欢《{book}》!") else: print(f"✗ 你没提到《{book}》,强烈推荐你看看哦~")
关键步骤解释
- 预设列表:先定义好自己的5个最爱,这里选了科幻领域的经典作品。
- 用户输入处理:用
split(",")把用户输入的逗号分隔字符串拆成列表,再用strip()去掉每个书名的前后空格,避免输入时的空格干扰匹配。 - 列表匹配判断:直接用
==就能判断两个列表的顺序和内容是否完全一致,匹配成功就输出你要的提示语。 - 进阶优化:如果列表不匹配,还可以通过列表推导式找出共同喜欢的书籍,或者用循环逐个检查每一项,给出更个性化的反馈,完美贴合作业要求。
补充:忽略顺序的匹配
如果你想只看内容是否一致(不管用户输入的顺序),可以把列表转成集合再比较:
if set(user_favorites) == set(my_favorite_books): print("我们喜欢的书完全一样,只是顺序不同!")
内容的提问来源于stack exchange,提问作者Dalton Scarbrough
相关产品推荐
相关产品推荐

