나는이의 형식으로 파이썬 사전에 텍스트 파일에서 시험 성적의 결과를 추가하는 코드의 비트 만든 :사전에 키에 지정된 값의 평균을 찾는 방법은 무엇입니까?
{'Ruan': '22', 'hello': [22, 1], 'kurun': '29'}
을 그리고 난 모든 사람의 점수의 평균을 작업 할이
student_average = sum((diction1[name]))/len((diction1[name]))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
내가 너트이 완전히 무엇을 의미하는지 이해 않고, 그나마 해결하는 방법을 알고 :이 오류가
while choice == 'av':
if schClass == '1':
schClass = open("scores1.txt", 'r')
li = open("scores1.txt", 'r')
data = li.read().splitlines()
for li in data:
name = li.split(":")[0]
score = li.split(":")[1]
if name not in diction1:
diction1[name] = score
if name in diction1:
diction1[name] = [int(diction1[name]),int(score)]
print(diction1)
averages_dct = {}
for name in diction1:
student_average = sum((diction1[name]))/len((diction1[name]))
averages_dct.update({name: student_average})
reversed_dct = {averages_dct[k]: [] for k in averages_dct}
for average in reversed_dct:
for name in averages_dct:
if average == averages_dct[name]:
reversed_dct[average].append(name)
for av in sorted(reversed_dct, reverse=True):
print('average: %s, students: %s' % (av, reversed_dct[av]))
: 내가 지금까지 시도한 것입니다 그거야?
당신이 (내가 의심도 INT –
'이름, 점수 = li.split에 합계를 호출 할 수 없습니다 :
또한 statistics 모듈과 코드를 대체하는 평균 알아서하도록 할 수 있습니다 "")'는 작동하고 dict을 defaultdict로 바꿉니다 –
괜찮은 환호 @PadraicCunningham 그러면 합계 대신 무엇을합니까? –