txt文件可存储最大值_这几道00后大学生的python作业你会做吗?最后一道题可把我难住了...

这篇博客分享了四道有趣的Python作业题目,涉及txt文件操作、数据处理和分析。第一题要求统计《水浒传》前20个出场最多的人物;第二题找出txt文件中第3至第9个能被2整除的最大值;第三题涉及计算学生各科成绩和平均分;第四题难度较高,博主未能解答。每题均包含解题思路和知识点,代码可在相关后台获取。
摘要由CSDN通过智能技术生成
456cdab3a355d08026842ed50a41b5a9.png

最近好多00后大学生来向我求助python作业问题,大多都是一些基础问题,今天就把几个有意思的题目给大家贴出来,并附上解题思路和答案:

Number One:

题目:统计《水浒传》中前二十个出场最多的人物

知识点:主要考察了文本分词、字典及列表用法

难度系数:4颗星解题思路:先去网上找一下水浒传108位好汉的人名构造列表,然后再下载一个txt格式的《水浒传》,再用jieba进行分词,循环分词结果,判断该词是否在人名列表中,如果在,则以人名为键,数量加1存入字典中,最后对值进行排序,输出前20个:

代码:

import jiebatxt=open("1111.txt", "r", encoding='utf-8').read()names=['宋江', '卢俊义']words=jieba.lcut(txt)cnt={}  #用来计数for word in words: if word not in names: #如果根本不是人名,那就不记录这个分词了 continue cnt[word] = cnt.get(word, 0)+1items = list(cnt.items())   #将其返回为列表类型print(items)items.sort(key=lambda x: x[1], reverse=True)  #排序for i in range(20):   #输出出场最多前二十 name, ans=items[i] print("{0:<5}出现次数为:{1:>5}".format(name,ans))

Number Two:

题目:首先自己建文件111.txt,数据分别是12 23 44 68 95 68 47 95 10 25。编写程序,求出该数据文件中,在第3个-第9个数据之间,能被2整除的最大值。

知识点:这道题不下于20个人向我求助,主要涉及文件的读写、字符切片、列表的添加元素和求最大值。

解题思路:先读取txt文件,用split分隔字符串生成列表,循环列表3至9位数,若能被2整除,则添加至新的列表中,最后用max函数求出新列表的最大值。

难度系数:3颗星

代码:

withopen('111.txt', 'r') as f:    num=f.read()num_list = []for i in num.split(' ')[2:9]: if int(i)%2==0:        num_list.append(i)print(max(num_list))

Number Three:

题目:学生成绩表数据包括:学号、姓名,高数、英语和计算机3门课成绩,计算每个学生总分,每课程平均分,最高分和最低分。要求:用函数和模块化程序设计方法实现。

知识点:主要涉及列表和字典的运用

解题思路:先用1个字典接收1名学生学号、姓名、成绩等信息,然后将该字典加入列表,循环该列表,计算出每名学生的总分、每个学科的平均分,学会这道题,就会解析json格式的数据了

难度系数:4颗星

代码

def stu_append():    s={}    s['num']=input("请输学号:")    s['name']=input("请输姓名:")    s['math']=int(input("高数成绩:"))    s['english']=int(input("英语成绩:"))    s['computer']=int(input("计算机成绩:")) return sresult = []n=0while n<3:  #输入3个学生成绩 result.append(stu_append())    n += 1for i in result: print(i['name']+'的总分为:'+str(i['math']+i['english']+i['computer']))mathsum = 0englishsum = 0computersum = 0for i in result:    mathsum += i['math']    englishsum += i['english']    computersum += i['computer']print('数学总分为:'+str(mathsum), '数学平均分为:'+str(float(mathsum/3)))print('英语总分为:'+str(mathsum), '英语平均分为:'+str(float(mathsum/3)))print('计算机总分为:'+str(mathsum), '计算机平均分为:'+str(float(mathsum/3)))

Number Four:

e0b761fe227bf04dce3dbc472a110eed.png

向我求助的学生告诉我,这是他们的课堂作业!!!!!!

然而我含着泪想了一个小时也没想出来,一度怀疑我是不是没学过python。感兴趣的朋友可以做一下,做完的加我领红包

前三题的完整代码及相关数据已传至【python的爬虫与数据分析之路】后台,请回复作业获取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值