Python程序我算不出来正确的答案

左图是程序运行出来是m=3 右边是我想的步骤和算出来的答案为m=1 感觉没毛病啊 算不出正确答案 不知道哪一步出了差错

img

img

下次发代码发代码发代码发代码~~!!
手敲很累很累很累很累下次不发不答了!
问题的关键就是搞清楚第一个循环之后s的值
以及第二个循环中m的含义
代码如下:

a = [50,75,53,92,77,64,79,21]
s = [0] * 10
for i in range(len(a)) :
    k = a[i] //10
    s[k] = s[k]+1
m = s[0]
k = 1
# print(s)         ### s =[0, 0, 1, 0, 0, 2, 1, 3, 0, 1]
# print(m)         ### m = 0
while k <10 :
    if s[k] > m :
        m = s[k]
    k +=1               ### 等价于遍历s, m 为s中的最大值
print('m=',m)       ### 所以m = 3

你纸上的步骤没有写完啊,s[2]满足之后,while循环还在继续啊,后面还会继续判断的,你咋就结束了呢,哈哈,不能够哈 男人不能这么快就结束的哦

这个程序的意图是输出数组中高位最多的那个是出现了几次,7出现了3次最多,所以是3
第一次循环之后的s
0 0 1 0 0 2 1 3 0 1
然后求出最大值
3
结果是 3,不是1,答案错了吧

能把代码通过文字的形式贴出来嘛,容易复制