【发布时间】:2022-01-08 06:42:07
【问题描述】:
给定两个长度相同的列表:
a = [15, 10, 15, 14]
b = [14, 15, 14, 14]
“a”变为“b”所需的最少更改次数是多少?
这是我的尝试:
c3=0
fht2= [15, 10, 15, 14]
sht2= [14, 15, 14, 14]
for i in range(0,len(fht2)):
for j in range(0,len(sht2)):
if fht2==sht2:
c=0
else:
if fht2!=sht2:
if fht2[i]!=sht2[j] and fht2[i]<=sht2[j]:
fht2[i]+=abs(fht2[i]-sht2[j])
c3+=1
if fht2[i]!=sht2[j] and fht2[i]>=sht2[j]:
fht2[i]-=abs(fht2[i]-sht2[j])
c3+=1
print(fht2)
print(c3)
输出应该是:
[14, 15, 14, 14]
3
但是,我的输出是:
[14, 14, 14, 14]
11
请帮忙。
【问题讨论】:
-
什么算是改变?
-
计数需要 3 但我的计数是 11
-
列表的长度是否始终相同?
-
据我了解,您只需要计算 a[i] != b[i] 的次数,我假设 a 和 b 的长度相同,否则您永远无法制作和b一样
-
是的,兄弟列表的长度总是相同的
标签: python python-3.x list