學(xué)習(xí)Python必練的100道例題,光學(xué)不練假把式!
2023-02-13 08:31 作者:愛(ài)吃章魚(yú)小丸子呢 | 我要投稿

#1 倆數(shù)之和 # number1 = [int(x) for x in input("格式number1 number2:").split()] # print(number1[0]+number1[-1]) #2 階乘 # n = eval(input("輸入n,返回對(duì)于的階乘:")) # result = 1 # for i in range(1,n+1): # result *= i # print(result) #3 判斷圓的面積 # import math # n = eval(input("請(qǐng)輸入半徑:")) # print(math.pi*pow(n,2)) # 獲得只是:math--->pi #4判斷素?cái)?shù)-->素?cái)?shù)就是只可以被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個(gè)數(shù)的平方和 # be = [int(x) for x in input("input n*bumber:").split()] # result = 0 # for elem in be: # result +=elem**2 # print(result) #6計(jì)算列表中N個(gè)數(shù)的和 # be = [int(x) for x in input("input n*bumber:").split()] # result =0 # for elem in be: # result +=elem # print(result) #7計(jì)算范圍中的偶數(shù) # 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數(shù)組保證沒(méi)有重復(fù)值,在用list() 進(jìn)行類型轉(zhuǎn)換 #10 列表排序 # my_list = [10,9,8,7,6,5,4,3,2,1] # #不改變?cè)瓉?lái)列表的排序 # print(sorted(my_list)) # print(my_list) # #變?cè)瓉?lái)列表的排序 # my_list.sort() # print(my_list) #11 對(duì)學(xué)生的成績(jī)進(jìn)行排序 # test_paper = {'小趙':90,'小錢':100,'小孫':50,'小李':10} # item 會(huì)返回一個(gè)元祖列表 # print(test_paper.items()) # print(sorted(test_paper.items(),key=lambda x:x[1],reverse=True)) # key 用那個(gè)數(shù)據(jù)進(jìn)行比較,調(diào)用一個(gè)函數(shù)去獲取對(duì)應(yīng)的數(shù)據(jù)\ # #12 對(duì)文件中的數(shù)據(jù)按照成績(jī)排序 # 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) #字符串是按照一個(gè)一個(gè)的ASCII一個(gè)一個(gè)比較的,直接比較是不準(zhǔn)確的 # with open('sort_grade.txt','w') as a: # for i in tmp: # a.write(','.join(i)+'\n') #13 對(duì)文件中的數(shù)據(jù)按照成績(jī)排序 -->打印了最高分和最低分的姓名 # 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 對(duì)文件中的數(shù)據(jù)按照成績(jī)排序 -->直接平均值和最高分 # 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 統(tǒng)計(jì)一篇文章中出現(xiàn)的詞,并獲取里面出現(xiàn)次數(shù)最多的詞 # 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("、")) # # #統(tǒng)計(jì)數(shù)據(jù) # 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 獲取一個(gè)目錄下文件的大小 # import os # print(os.path.getsize("page.txt")) # # os->path->獲取文件大小 # # os.path.isfile() 判斷是否是文件 # # os.listdir("文件路徑/絕對(duì)理解") 返回指定路徑下的全部文件包括目錄(一切皆文件) ##os.splitext("文件名") --->自動(dòng)切割為,(文件名 ,文件后綴)的元祖 #16 求出文件中學(xué)生刪成績(jī)的最大值,且是每個(gè)學(xué)科的最高分 with open('grade.txt','r') as f: # 把數(shù)據(jù)進(jìn)行分類 chinese = [] english = [] math = [] for elem in f: elem = elem[:-1] if '語(yǔ)文' in elem: chinese.append(elem) elif"英語(yǔ)" in elem: english.append(elem) else: math.append(elem) #進(jìn)行求最大值 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 實(shí)現(xiàn)不同文件的數(shù)據(jù)關(guān)聯(lián) -->需要寫會(huì)文件中 with open('grade.txt','r') as f: teacher ={} student =[] # 把學(xué)生數(shù)據(jù)寫到容器中 for elem in f.readlines(): student.append(elem[:-1].strip(',')) # 把老師統(tǒng)計(jì)到字典里面 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 統(tǒng)計(jì)各個(gè)愛(ài)好的人數(shù) with open('student_hobby.txt','r') as f: comtainer = [i.split()[1].split(',') for i in f.readlines()] result = {} #統(tǒng)計(jì)數(shù)據(jù) for elem1 in comtainer: for elem2 in elem1: result[elem2] = result.get(elem2,0) + 1 #打印 for key,value in result.items(): print(f"愛(ài)好:{key} 人數(shù):{value}")
一些教函數(shù)如何調(diào)用的我就沒(méi)寫了額
標(biāo)簽: