欢迎光临散文网 会员登陆 & 注册

学习Python必练的100道例题,光学不练假把式!

2023-02-13 08:31 作者:爱吃章鱼小丸子呢  | 我要投稿
#1 俩数之和
# number1 = [int(x) for x in input("格式number1 number2:").split()]
# print(number1[0]+number1[-1])




#2 阶乘
# n = eval(input("输入n,返回对于的阶乘:"))
# result = 1
# for i in range(1,n+1):
#     result *= i
# print(result)




#3 判断圆的面积
# import math
# n = eval(input("请输入半径:"))
# print(math.pi*pow(n,2))
# 获得只是:math--->pi




#4判断素数-->素数就是只可以被1或者本身整除
# be =[int(x) for x in input("begin end:").split()]
# decide = False
# for i in range(be[0],be[1]+1):
#     for j in range(2,i):#
#         if i%j == 0:
#             decide = True
#             break
#     if decide:
#         decide = False
#         continue
#     print(i,end=' ')




#5求N个数的平方和
# be = [int(x) for x in input("input n*bumber:").split()]
# result = 0
# for elem in be:
#     result +=elem**2
# print(result)




#6计算列表中N个数的和
# be = [int(x) for x in input("input n*bumber:").split()]
# result =0
# for elem in be:
#     result +=elem
# print(result)




#7计算范围中的偶数
# be =[int(x) for x in input("begin end:").split()]
# result = 0
# for i in range(be[0],be[1]+1):
#     if i % 2 ==0:
#         print(i,end=' ')




#8 删除列表中的元素
# my_list = [1,2,3,4,5]
# # my_list.pop(my_list.index(1))
# # my_list.pop(my_list.index(2))
#
# del my_list[my_list.index(1)]
# del my_list[my_list.index(2)]
#
# # my_list.remove(1)
# # my_list.remove(2)
#
# print(my_list)




#9 列表去重
# my_list =[10,20,30,20,10]
# my_list = list(set(my_list))
# print(my_list)
# # 思路set数组保证没有重复值,在用list() 进行类型转换




#10 列表排序
# my_list  = [10,9,8,7,6,5,4,3,2,1]
#  #不改变原来列表的排序
# print(sorted(my_list))
# print(my_list)
# #变原来列表的排序
# my_list.sort()
# print(my_list)




#11 对学生的成绩进行排序
# test_paper = {'小赵':90,'小钱':100,'小孙':50,'小李':10}
# item 会返回一个元祖列表
# print(test_paper.items())
# print(sorted(test_paper.items(),key=lambda x:x[1],reverse=True))
# key 用那个数据进行比较,调用一个函数去获取对应的数据\




# #12 对文件中的数据按照成绩排序
# with open('stu.txt','r') as t:
#     tmp = [x.strip().split(',') for x in t.readlines()]
#     tmp = sorted(tmp,key=lambda x:int(x[2]),reverse=True) #字符串是按照一个一个的ASCII一个一个比较的,直接比较是不准确的
#     with open('sort_grade.txt','w') as a:
#         for i in tmp:
#             a.write(','.join(i)+'\n')




#13 对文件中的数据按照成绩排序 -->打印了最高分和最低分的姓名
# with open('stu.txt','r') as t:
#     tmp = [x.strip().split(',') for x in t.readlines()]
#     MAX = max(tmp,key=lambda x : int(x[2]))
#     MIN = min(tmp,key=lambda x : int(x[2]))
#     average = 0
#     for i in tmp:
#         average += int(i[-1])
#     print(f"Max{MAX}  Min{MIN}  average:{round(average/len(tmp),2)}")




# #13.5 对文件中的数据按照成绩排序 -->直接平均值和最高分
# with open('stu.txt','r') as t:
#     tmp = [int(x.strip().split(',')[2]) for x in t.readlines()]
#     print(f"Max:{max(tmp)}  Min:{min(tmp)}  average:{round(sum(tmp)/len(tmp),2)}")




#14 统计一篇文章中出现的词,并获取里面出现次数最多的词
# result = {}
# with open('page.txt','r') as t:
#     tmp = [x.strip().split() for x in t.readlines()]
#
# litter1  = 'A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y、Z'
# litter2  = 'a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p、q、r、s、t、u、v、w、x、y、z'
# litter = ''.join(litter1.split("、")) + ''.join(litter2.split("、"))
#
# #统计数据
# for i in tmp:
#     for j in i:
#         if j[-1] not in litter:
#             j = j[:-1]
#         result[j] = result.get(j, 0) + 1
#
# #求出最大值
# print(f"max{max(result.items(),key=lambda x:x[1])}")




#15 获取一个目录下文件的大小
# import os
# print(os.path.getsize("page.txt"))
# # os->path->获取文件大小
# # os.path.isfile() 判断是否是文件
# # os.listdir("文件路径/绝对理解") 返回指定路径下的全部文件包括目录(一切皆文件)
##os.splitext("文件名") --->自动切割为,(文件名 ,文件后缀)的元祖




#16 求出文件中学生删成绩的最大值,且是每个学科的最高分
with open('grade.txt','r') as f:
   # 把数据进行分类
    chinese = []
    english = []
    math = []
    for elem in f:
        elem = elem[:-1]
        if '语文' in elem:
            chinese.append(elem)
        elif"英语" in elem:
            english.append(elem)
        else:
            math.append(elem)
#进行求最大值
print(f"max: {max(chinese,key=lambda x:int(x.split(',')[-1]))} {max(math,key=lambda x:int(x.split(',')[-1]))} {max(english,key=lambda x:int(x.split(',')[-1]))}")





# 17 实现不同文件的数据关联 -->需要写会文件中
with open('grade.txt','r') as f:
    teacher ={}
    student =[]
    # 把学生数据写到容器中
    for elem in f.readlines():
        student.append(elem[:-1].strip(','))
    # 把老师统计到字典里面
    with open('teachers.txt','r') as f2:
        for elem in f2.readlines():
            elem = elem.strip().split(',')
            teacher[elem[0]] = teacher.get(elem[0],elem[-1])
    #组合
    for i in range(0,len(student)):
        student[i] += ','+teacher.get(student[i][:2])
    #写回文件中
    with open('stu.txt','w') as f3:
        for elem in student:
            f3.write(''.join(elem) +"\n")





# 18 统计各个爱好的人数
with open('student_hobby.txt','r') as f:
    comtainer = [i.split()[1].split(',') for i in f.readlines()]
    result = {}
    #统计数据
    for elem1 in comtainer:
        for elem2 in elem1:
            result[elem2] = result.get(elem2,0) + 1
    #打印

    for key,value in result.items():
        print(f"爱好:{key} 人数:{value}")





一些教函数如何调用的我就没写了额

学习Python必练的100道例题,光学不练假把式!的评论 (共 条)

分享到微博请遵守国家法律