风语tt 发表于 2021-11-24 16:14:11

求这道题怎么解,来个大佬讲详细点

movies = {
'妖猫传':['黄轩','染谷将太'],
'无问西东':['章子怡','王力宏','祖峰'],
'超时空同居':['雷佳音','佟丽娅'],
}
a = input('你想查询哪个演员?')
for i in movies:# 用 for 遍历字典
    b = movies# 读取各个字典的主演表
    if a in b:   
      print(a + '出演了电影' + i)

这个i不是包括了妖猫传,无问西东,超时空同居吗?为啥输入名字的时候可以打印出演员所演的电影

好玩爱忘 发表于 2021-11-24 16:14:12

for i in movies:# 用 for 遍历字典(‘movies’)的 key(‘妖猫传’、‘无问西东’、‘超时空同居’)并赋值给 i   假如是第一次循环,则此时的 i = ‘妖猫传’
    b = movies# 以上面假设为准,此时 i = ‘妖猫传’,则此处为取出‘妖猫传’的演员表‘['黄轩','染谷将太']’并赋值给 b
    if a in b:    # 判断:询问的演员 a 是否在列表 b 中,若在则判断为‘真’执行下面的代码若询问的 a = ‘黄轩’
      print(a + '出演了电影' + i)# 以上面的假设来说,此时 a = ‘黄轩’,i = ‘妖猫传’,因为上面的 if 判断为真,所以此处的 print 输出为 “黄轩出演了电影妖猫传”
小白的理解,不知道有没错误

Gacy 发表于 2021-11-24 16:20:14

下面那一句for不也遍历了

风语tt 发表于 2021-11-26 18:15:33

好玩爱忘 发表于 2021-11-25 09:59
小白的理解,不知道有没错误

漂亮,懂了,多谢大佬
页: [1]
查看完整版本: 求这道题怎么解,来个大佬讲详细点