第12讲课后题目求解释
12讲最后一题的推导过程:
list1=['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2=['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
for slogan in list1:
for name in list2:
if slogan == name:
list3=name+':'+slogan
print(list3)
上面这段是我的代码,为什么我这样跑出来的结果,只能是显示一个4.阿迪达斯:Impossible is Nothing,而不是能像答案那样显示4个广告标语与公司匹配? 都覆盖掉了,用列表的追加保存起来 逻辑问题,像2楼说的,本来你筛出来了相等的,又被你后面筛出相等的给覆盖掉了。
改成如下即可:
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)
print(list3)
list1=['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2=['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
for slogan in list1:
for name in list2:
if slogan == name:
list3=name+':'+slogan
#list3初次调用,看右边赋值确定其类型,name是字符串,‘:’是字符串,slogan还是字符串,说明list3是字符串啊
#你要么在前面赋值list3=[],让他变列表,这行改成列表插入数据list3.append(name+':'+slogan)
#但是还有个问题,你这列表排序不一定正确,所以得改算法了
print(list3) heidern0612 发表于 2020-10-28 07:27
逻辑问题,像2楼说的,本来你筛出来了相等的,又被你后面筛出相等的给覆盖掉了。
改成如下即可:
哦哦,明白了,谢谢!
页:
[1]