求这道题怎么解,来个大佬讲详细点
movies = {'妖猫传':['黄轩','染谷将太'],
'无问西东':['章子怡','王力宏','祖峰'],
'超时空同居':['雷佳音','佟丽娅'],
}
a = input('你想查询哪个演员?')
for i in movies:# 用 for 遍历字典
b = movies# 读取各个字典的主演表
if a in b:
print(a + '出演了电影' + i)
这个i不是包括了妖猫传,无问西东,超时空同居吗?为啥输入名字的时候可以打印出演员所演的电影 脑子瓦特了,想了好久
if a in b:
print(a + '出演了电影' + i)
这个我理解,判断你输入的名字在不在演员表中,可最后一句的i理解不了,它是怎么根据你输入的名字选择电影? movies 通过key取字典的values
如:
movies ['妖猫传'] == ['黄轩','染谷将太'] 本帖最后由 jackz007 于 2021-11-23 13:55 编辑
for i in movies: # 用 i 循环遍历字典 movies 的 key
b = movies# b = 电影 i 的主演表 {:10_256:} 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 输出为 “黄轩出演了电影妖猫传”
小白的理解
页:
[1]