lzymm1 发表于 2020-8-6 14:52:03

【Python新手求助】第十二讲课后作业第6题。

第十二讲课后练习入口:
list1 = ['1.Just do It','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
list3 = []
for slogan in list1:
        for name in list2:
                if slogan == name:
                        list3.append(name+':'+slogan)
for each in list3:
    print(each)


它是怎么把名字跟口号对到一起的?为什么顺序颠倒但是最后还是拼成了正确的广告词?
求解。

zltzlt 发表于 2020-8-6 14:52:55

if slogan == name: 这一句,只有它们的第一个字符相等,才会把它们拼到一起

xiaosi4081 发表于 2020-8-6 14:53:03

slogan==name呀
第一个字符相等,才配到一起

blackfame 发表于 2020-8-6 15:09:08

list1 = ['1.Just do It','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']

我是这么写的

list1 = ['1.a','2.b','3.c','4.d']
list2 = ['2.aa','3.bb','4.cc','1.dd']
list3 = []
for slogan in list1:
    print(slogan)
    for name in list2:
      print(name)
      if slogan[:2] == name[:2]:
            list3.append(name + ":" + slogan)
for each in list3:
    print(each)

blackfame 发表于 2020-8-6 15:10:27

zltzlt 发表于 2020-8-6 14:52
if slogan == name: 这一句,只有它们的第一个字符相等,才会把它们拼到一起

这个是不是必须字符数一致才能相等????

zltzlt 发表于 2020-8-6 15:13:28

blackfame 发表于 2020-8-6 15:10
这个是不是必须字符数一致才能相等????

不是,比较的是第一个字符

lzymm1 发表于 2020-8-6 15:39:19

zltzlt 发表于 2020-8-6 14:52
if slogan == name: 这一句,只有它们的第一个字符相等,才会把它们拼到一起

好的谢谢,明白了。slogan是什么意思?

zltzlt 发表于 2020-8-6 15:41:01

lzymm1 发表于 2020-8-6 15:39
好的谢谢,明白了。slogan是什么意思?

就是从 slogan 的第三个字符一直截取到字符串结尾。

Twilight6 发表于 2020-8-6 15:59:48



整体分析来这里看看吧:

https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=175291&pid=4843477

页: [1]
查看完整版本: 【Python新手求助】第十二讲课后作业第6题。