一道python题,求解,。。

作者&投稿:文罡 (若有异议请与网页底部的电邮联系)
求解一道python数据处理题~

class GradeSort: def __init__(self,stuGrade): self.stuGrade = stuGrade self.name = [] for name in stuGrade.keys(): self.name.append(name) def sumSort(self): nameGrade = {} # 存取姓名与总成绩 for n,g in self.stuGrade.items(): nameGrade[n] = sum(map(int,g.split(','))) sumGrade = [] # 存取排序后的姓名与总成绩 ''' 按总成绩排序 ''' sumGrade = self.Sort(nameGrade) return sumGrade def threeSort(self): nameGrade = {} # 存取姓名与第三门成绩 for n,g in self.stuGrade.items(): threeGrade = int(g.split(',')[2]) nameGrade[n] = threeGrade threeSort = [] ''' 按第三门成绩排序 ''' threeGrade = self.Sort(nameGrade) return threeGrade def Sort(self,nameGrade): ''' 降序排序 ''' sort = [] for index in range(len(self.name)): middle = 0 name = "" for n,g in nameGrade.items(): if g > middle: middle = g name = n sort.append({name:middle}) nameGrade.pop(name) return sort if __name__ == '__main__': # 用于存储成绩的文件名为name.txt with open('name.txt') as file: ''' 从文件中获取姓名与成绩 ''' stuGrade = {} # 姓名与成绩对应字典 for line in file: name = line[:line.find(':')] grade = line[line.find(':')+1:].rstrip('
') stuGrade[name] = grade sort = GradeSort(stuGrade) for index in sort.sumSort(): for n,g in index.items(): print("%s:%s 总分:%s" % (n,stuGrade[n],g)) print('-'*60) for index in sort.threeSort(): for n,g in index.items(): print("%s:%s 第三门成绩:%s" % (n,stuGrade[n],g))运行结果:

写了有一会时间了,望采纳

你好,答案如下所示。

如图所示
希望你能够详细查看。如果你有不会的,你可以提问我有时间就会帮你解答。希望你好好学习。每一天都过得充实。

个人只是觉得,在没有打赏的情况下,通常大家不会有空帮忙完成作业。

#!/bin/bash
# -*- coding: utf-8 -*-

students = list()
flag = True
while flag:
    name = input("姓名:")
    age = input("年龄:")
    score1 = input("语文成绩:")
    score2 = input("数学成绩:")
    students.append([name, age, score1, score2])
    cont = input("继续录入?任意键继续,退出请按q:")
    if cont == 'q':
        flag = False

print(students)

OSX+Python3环境下测试通过。



python的题 求解
答:def one(s):return s == s[::-1]def two(lst):lst.sort()del(lst[len(lst) - 1])lst.append(lst.pop(0))return lst.copy()def three(s1, s2, s3):return (s1 | s2 | s3,s1 & s2 & s3,(s1 | s2) - (s2 | s3))def four(num):return sum(map(int, str(num)))def...

求解一道Python编程题
答:def trig(num):if num<1:return []if num==1:return [1]if num==2:return [1,1]alllist=[[1],[1,1]]for i in range(2,num):p=alllist[i-1]print(p)ls=[1]+[p[i]+p[i+1] for i in range(len(p)-1)]+[1]alllist.append(ls)print(alllist[-1])return alllist[...

想用python来求解牛顿插值问题,编了一段程序,其中有些错误看不出来,恳...
答:import matplotlib.pyplot as pltfrom pylab import mplimport math"""牛顿插值法插值的函数表为xi -28.9, -12.2, 4.4, 21.1, 37.8f(xi) 2.2, 3.9, 6.6, 10.3, 15.4"""x=[-28.9,-12.2,4.4,21.1,37.8]y=[2.2,3.9,6.6,10.3,15.4]"""计算4次...

python的一道题求解
答:有几个问题,少冒号,然后里面的j不需要加一,还有就是print要放到循环中(缩进有问题)i = 0 for j in range(1,1001):if j % 20 == 0:i += 1 print(i,j)

python简单问题求解?
答:如果从你的需求考虑。你的程序有几个问题。1、try可以取消,你的本意可能是判断目录是否有效,但如果目录无效os.path.isdir(dir)会返回flase,所以try多余了。(当然如果是课程要求学习异常处理try的用法除外)。2、num是文件的个数,它不需要调用函数传入的参数。def numOfFiles(path,num=1):中num=1...

一个Python二级题目,大佬求解
答:用ord()来查看字符的值。ord('3')是51,ord('a')是97。tuple是从头开始比较,如果值相同则看下一个。51小于97,所以返回True

Python 题目求解!
答:最简单的, 用自带的join函数:def add_spaces(string):return ' '.join(string)如果不能用join()def add_spaces(string):if len(string) < 2:return string result = ''for i in range(len(string) - 1):result = result + string[i] + ' 'result = result + string[-1]return ...

python编程题目,求解!!!
答:num = 0 L = ['Alice', 66, 'Bob', True, 'False', 100]for item in L:num = num + 1 if num % 2 != 0:continue print(item)

python编程题,求解谢谢
答:因为 英文单词都是单个的 所以 以空格 切割就行了 ,切割完后 是一个列表 创建一个空字典 遍历 列表 从字典中取单词如果取不到的话就把该单词当做Key值为1 如果取得到 说明已经存在了 把 值 加 1 就行了

Python 怎么用代码实现解"复杂的复合函数的值域"类型的数学题?
答:from math import exp, cosf = lambda x: cos(exp(x))最后,我们可以使用 Python 中的函数来计算复合函数的值域。例如,我们可以使用如下代码来计算函数 f(x) = cos(e^x) 在 x = 1 时的值:x = 1print(f(x))注意,上述代码仅供参考,具体的实现可能会有所不同,要根据具体题目来设计...