怎么修改这一段python代码
count=0withopen('成绩.txt','a')asf:whileTrue:value=input('成绩:')ifvalue=='':breaksum=sum...
count = 0
with open('成绩.txt', 'a') as f:
while True:
value = input('成绩:')
if value == '':
break
sum = sum + float(value)
count += 1
f.write(value + '\n')
f.write('avg= ' + str(sum / count) + '\n')
print('avg= ' + str(sum / count) + '\n')
怎么修改成输入名字和成绩,但是输出的时候能输出每个人的名字和对应成绩,由高到低排序,并且输出平均分,谢谢~ 展开
with open('成绩.txt', 'a') as f:
while True:
value = input('成绩:')
if value == '':
break
sum = sum + float(value)
count += 1
f.write(value + '\n')
f.write('avg= ' + str(sum / count) + '\n')
print('avg= ' + str(sum / count) + '\n')
怎么修改成输入名字和成绩,但是输出的时候能输出每个人的名字和对应成绩,由高到低排序,并且输出平均分,谢谢~ 展开
展开全部
# -*- coding: utf-8 -*-
list_info=[]
while True:
info = raw_input('输入名字和 成绩(用空格分隔 例如 张三 100),退出请输入exit ')
if info.strip()=='exit':
print 'byebye'
break
info = info.strip().split()
#print info
if len(info)<2:
print '格式不准确:重新输入'
else:
list_info.append(info)
list_info=sorted(list_info, key=lambda student : student[1],reverse=True)
print list_info
for i in list_info:
print i #这里逐行写入文件
>>>
输入名字和 成绩(用空格分隔 例如 张三 100),退出请输入exit a 4
输入名字和 成绩(用空格分隔 例如 张三 100),退出请输入exit b 5
输入名字和 成绩(用空格分隔 例如 张三 100),退出请输入exit c 3
输入名字和 成绩(用空格分隔 例如 张三 100),退出请输入exit exit
byebye
[['b', '5'], ['a', '4'], ['c', '3']]
['b', '5']
['a', '4']
['c', '3']
>>>
追问
大神大神再加一个最后求平均分~~~~!就完了,谢谢!!
追答
if list_info==[]:
print '没有数据,无法算平均分'
else:
print '平均分:%s'%(sum([int(i[1]) for i in list_info])/float(len(list_info)))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询