Python 3.x 计算python列表中具有相同元素值的对数

Python 3.x 计算python列表中具有相同元素值的对数,python-3.x,Python 3.x,我不明白为什么函数返回4,而它应该返回3。多谢各位 x = [10,20,20,10,10,30,50,10,20] s = {} count = 0 for item in x: if (item in s): s[item] += 1 else: s[item] = 1 for z, w in s.items(): count += w/2 print(int(count)) 根据您对所说的内容的描述,我相信您会希望将要添加到计数中的数字向下舍入,而不是整体

我不明白为什么函数返回4,而它应该返回3。多谢各位

x = [10,20,20,10,10,30,50,10,20]
s = {} 
count = 0 
for item in x: 
  if (item in s): 
   s[item] += 1
 else:
   s[item] = 1
for z, w in s.items(): 
 count += w/2 
print(int(count))

根据您对所说的内容的描述,我相信您会希望将要添加到计数中的数字向下舍入,而不是整体计数,因为两半最终将成为1

下面确实返回3

x = [10,20,20,10,10,30,50,10,20]
s = {} 
count = 0 
for item in x: 
  if (item in s): 
   s[item] += 1
 else:
   s[item] = 1
for z, w in s.items(): 
 count += int(w/2) 
print(count)

根据您对所说的内容的描述,我相信您会希望将要添加到计数中的数字向下舍入,而不是整体计数,因为两半最终将成为1

下面确实返回3

x = [10,20,20,10,10,30,50,10,20]
s = {} 
count = 0 
for item in x: 
  if (item in s): 
   s[item] += 1
 else:
   s[item] = 1
for z, w in s.items(): 
 count += int(w/2) 
print(count)

在Python中,单斜杠“/”执行以小数返回的规则除法。双斜杠“/”返回向下舍入的整数。对该数字调用int()时,它向下舍入到最接近的整数

在您的代码中,您可以得到: 2+1.5+0.5+0.5=4.5


在4.5上调用int后,它变为4。

在Python中,单斜杠“/”执行一个以小数返回的规则除法。双斜杠“/”返回一个向下舍入的整数。对该数字调用int()时,它向下舍入到最接近的整数

在您的代码中,您可以得到: 2+1.5+0.5+0.5=4.5


在4.5上调用int后,它变为4。

如果要在for循环中添加浮点数,只需将其更改为int,它将加起来就是3

x = [10,20,20,10,10,30,50,10,20]
s = {}
count = 0
for item in x:
    if (item in s):
        s[item] += 1
    else:
        s[item] = 1
for z, w in s.items():
    count += int(w/2)

print(int(count))

如果要在for循环中添加浮点数,只需将其更改为int,它的总数将增加到3

x = [10,20,20,10,10,30,50,10,20]
s = {}
count = 0
for item in x:
    if (item in s):
        s[item] += 1
    else:
        s[item] = 1
for z, w in s.items():
    count += int(w/2)

print(int(count))

我尝试了很多方法来解决这个家庭作业。我把自己推到了极限之外10次。我开始感到沮丧。你能告诉我如何解决这个问题吗,因为我很累,开始失去控制。非常感谢。我尝试了很多方法来解决这个家庭作业。我把自己推到了极限之外10次。我开始学习失意。你能告诉我如何解决这个问题吗?因为我很累,开始失去控制。非常感谢。非常感谢你。非常好,也许这对你来说没什么,但对我来说是一个很大的帮助。我完全尊重。一个稍微好一点的解决方案是使用
count+=w//2
进行整数除法,不用做浮点除法,然后再把它转换回整数。非常感谢你,很酷,也许这对你来说没什么,但对我来说是一个很大的帮助。我完全尊重你。一个稍微好一点的解决办法是使用做整数除法的
count+=w//2
,而不用做浮点除法,然后再把它转换回i恩泰格。