首页 > 解决方案 > 我如何用cnt =+1解决python分配问题

问题描述

我是 python 新手,试图按后代顺序对分数进行排序,看看谁得到了相同的分数。这是代码

Score = [90, 80, 92, 88, 75, 88, 80, 80, 90, 90, 90, 75]
Score.sort(reverse=True)
sorted_unique_score = []

#sorting in desc order
for score in Score:
  if score not in sorted_unique_score:
    sorted_unique_score.append(score) 

#find the same scores
for unique_score in sorted_unique_score:
  cnt = 0
  for score in Score:
    if unique_score == score:
      cnt = cnt + 1 # somehow this one doesn't work -->  cnt =+ cnt 1
    else:
      continue

  if cnt == 1:
    print(f"for {unique_score}: is a unique score")  
  else:
    print(f"for {unique_score} : {cnt} students got the same score")

这工作得很好,但我想知道为什么下面的这个不起作用。

Score = [90, 80, 92, 88, 75, 88, 80, 80, 90, 90, 90, 75]
Score.sort(reverse=True)
sorted_unique_score = []

#sorting in desc order
for score in Score:
  if score not in sorted_unique_score:
    sorted_unique_score.append(score) 

#find the same scores
for unique_score in sorted_unique_score:
  cnt = 0
  for score in Score:
    if unique_score == score:
      cnt =+ cnt 1 
    else:
      continue

  if cnt == 1:
    print(f"for {unique_score}: is a unique score")  
  else:
    print(f"for {unique_score} : {cnt} students got the same score")

唯一的区别是 cnt =+ cnt +1 部分

标签: pythonequalsallocation

解决方案


你应该这样写: cnt += cnt 1 而不是这样: cnt =+ cnt 1


推荐阅读