python经典例题

1计算数字的阶乘

def get_jiecheng(number):
    result = number
    while number > 1:
        result *= number - 1
        number -= 1
    return result


print('阶乘6=', get_jiecheng(6))

2区间内的所有素数

素数只能整除1和自身
思路一个函数判断是否素数再一个循环区间里的数

def is_prime(num):
    if num in (1,2):  #特殊情况记得考虑
    	return True 
    for i in range(2,num):
        if num%i == 0:
           return True
    return False      #return的用法

def print_primes(begin,end):
    for i in range(begin,end+1):
        if is_prime(i) == 0:
            print(i)

begin =3
end = 7
print_primes(3,7)

特殊情况记得考虑
return的用法

3求前n个数字的平方和

输入n输出1平方+2平方+3平方+。。。n平方

c = int(input('请输入:'))

s = 0
for i in range(1,c+1):
    s += i*i
print(s)

输入的数字记得转换为int类型

4移除列表中的多个元素

remove函数
在这里插入图片描述

def yichu(la,lb):
    for i in la:
        if i in lb:
            la.remove(i)
    return la
la = [3,7,5,9,11]
lb= [7,11]

print(f"from{la}中remove{lb}:",yichu(la,lb))

有一个更简单的

la = [3,7,5,9,11]
lb= [7,11]
data = [i fro i in la if i not in lb]

print(f"from{la}中remove{lb}:",data)

5列表去重

利用set

lista = [1,3,5,2,3,1]
print('liat(set(lista))')

6对简单列表元素排序

原列表改变了

la = [2,4,5,3,7]
la.sort()  #升序
print(la)

原列表不改变

la = [2,4,5,3,7]
lb = sorted(la) 
print(lb)

降序加一个reverse=True

la = [2,4,5,3,7]
la.sort(reverse=True)  #降序
print(la)
la = [2,4,5,3,7]
lb = sorted(reverse=True) #降序
print(lb)

7对复杂列表元素排序

对学生成绩排序。
依旧sort函数加一个key参数
sort(要排序的东西key=排序列,reverse=True)#降序

students = [
	{'id':1,'name':'小a','grade':88},
	{'id':2,'name':'小b','grade':98},
	{'id':3,'name':'小c','grade':78}
]
students_sort = sorted(students,key=lambda x:x['grade'])
print(students)
print(students_sort)

8读取成绩问卷并排序-读取文件写入文件

在这里插入图片描述
student.txt文件中输入
1小张88
2小王78
3小米98
4小红85

def read_file():
	result = []  #用来记录
	with open('./student.txt') as fin:
		for line in fin:
			line = line[:-1]#去掉最后的换行符
			result.append(line.split(','))
	return result
#此时result中[['1','小张','88'],['2','小王','78'],...]
#都是字符串形式
def sort_grades(datas):
	return sorted(datas,key=lambda x:int(x[2]),reverse=True)

def write_file(datas):
	with open('./student1.txt','w') as font:
		for data in datas:
			font.write(','.join(data)+'\n')
#读取文件
datas = read_file()
print('读取',datas)
#排序数据
datas = sort_grades(datas)
print('排序后',datas)
#写出文件
write_file(datas)

9统计最高分最低分平均分

求平均值avg_score = round(sum(scores)/len(scores),2)

def compute_score(): 
	scores = []
	with open('./student.txt') as fin:
		for line in fin:
			line = line[:-1] #去掉换行符
			fields = line.split(',')
			scores.append(int(fields[-1]))  #只读取成绩
	max_score = max(scores)
	min_score = min(scores)
	avg_score = round(sum(scores)/len(scores),2)
	return max_score,min_score,avg_score
	
max_score,min_score,avg_score = compute_score()
print(f'max={max_score},min={min_score},avg={avg_score}')

10统计英文文章中单词出现次数–统计次数的代码

用字典来进行统计
英语文章放在txt文件中

word_count = {}
with open('./wenzhang.txt') as fin:
	for line in fin:
		line = line[:-1]
		words = line.split()#按空格分列得到单词列表
		for word in words:
			if word not in word_count:
				word_count[word] =0
			word_count[word]+=1
print(word_count) #即得到每个单词出现的次数
d = sort(word_count.items(),key=lambda x:x[-1],reverse=True) #排序
print(d[:10]) #输出词频最多的前10个单词

字典.items()函数会返回一个list其中会包含字典的values和key。格式如下
在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python