1.求数字阶乘
n=5
k=1
for i in range(1:n+1):
k=i*k
print(k)
2.求区间内所有的素数(只能被自身和1整除的数称为素数)
def is_prime(n):
if n<=1:
return True
for i in range(2,n):
if n%i==0:
return False
return True
def demo(s,e):
result=[]
for i in range(s,e+1):
if is_prime(i):
result.append(i)
return result
print(demo(1,100))
3.求前n个数字的平方和
# 方法1
def sum_num(n):
count=0
for i in range(n+1):
count=count+i**2
return count
# 方法2 lambda和map函数
n=5
sum_of_squares = sum(map(lambda x:x**2,range(1,n+1)))
4. 计算列表的和
list=[1,2,3,4,5]
sum=0
for l in list:
sum+=i
print(sum)
5.数字范围内的所有偶数
even=[]
for i in range(1,100):
if i%2==0:
even.append(i)
print(even)
6.从列表中移除多个元素如 li=[1,2,3,4,5,6] move=[4,5]
li=[1,2,3,4,5,6]
move=[2,3]
for i in move:
li.remove(i)
print(li)
7.对列表元素去重
# 方法一
list=[1,2,3,2,1,4,5,4]
print(set(list))
# 方法二
list=[1,2,3,2,1,4,5,4]
result=[]
for i in list:
if i not in result:
result.append(i)
print(result)
8.对列表进行排序
li=[6,4,5,7,8,9]
print(sorted(li))
li.sort(reverse=False)
print(li)
9.学生成绩排序
student=[{'id':100,'name':'xxx','score':89},
{'id':101,'name':'yyy','score':99},
{'id':102,'name':'zzz','score':109}]
def getscore(info):
return info['score']
print(sorted(student,key=getscore))
10 读取文件成绩并排序
def read_file():
result=[]
with open ("成绩.txt",'r',encoding='utf—8') as f:
while True:
line=f.readline()
if len(line)==0:
break
scores= line.split(",")[-1].strip()
result.append(scores)
return result
scores=read_file()
scores.sort()
print("学生成绩",scores)
11.读取成绩文件最高最低分
def read_file():
result=[]
with open ("成绩.txt",'r',encoding='utf-8')as f:
while True:
line = f.readline()
if len(line)==0
break
scores=line.split(",")[-1].strip()
result.append(scores)
return result
scores=read_file()
M=max(scores)
m=min(scores)
print("学生成绩的最高分'%s',最低分'%s':"%(M,m))
12 统计成绩中出现最多的单词
result={}
def read_file():
with open ("words.txt",'r',encoding="utf_8") as f:
line = f.read()
words=line.split()
filter_words=[word for word in words if word and word.isalpha()]
for word in filter_words:
if word not in result:
result[word]=0
result[word]+=1
read_file()
sorted_values=sorted(result.items(),key=lambda item:item[1],reverse=True)
print(sorted_values)
13 猜数游戏
import random
num = random.randint(1,10)
while True:
n=int(input("input num"))
if n==num:
print('True')
break
elif n>num:
print('big')
else :
print('small')
14 两个字符串排序后是否相等
s1='abc'
s2='cab'
print(sorted(s1)==sorted(s2))
15 字符串反转
s='deuwlis'
#方法1 切片
print(s[::-1])
# 方法二reversed()函数返回一个反向迭代器,然后你可以用join()方法将迭代器中的元素连接成一个新的字符串
reversed_s = "".join(reversed(s))
print(reversed_s)
补充:
map函数:
map(fumction,iterable,…)
function:一个应用于可迭代对象中每个元素的函数
iterable:一个或多个可以迭代的对象
返回值:一个迭代器,包含可迭代对象中每个元素应用函数后的结果
lambda函数:
也被称为匿名函数、是python中的一个简洁定义单行的最小函数
lambda arguments:expression
arguments: 函数的参数,以,分隔
expression:关于参数的表达式
li=[1,2,3,4,5]
print(list(map(lambda x:x**2,li)))
列表推导式
[expression for item in iterable if condition]
expression:用于生成列表元素的表达式
iterable:一个课迭代的对象
item:用于遍历的对象
condition:一个用于筛选元素的条件表达式
# 用列表退到式生成一个1-10的平方的列表
result=[x for x in map(lambda x:x**2,range(1,11))]
print(result)
16 用列表推导式取出平方后大于10的数
li=[1,2,3,4,5]
l=[x for x in li if x**2<10]
print(l)
17 将句子所有的字符大写之后打印
word="hello word"
new=""
for i in word :
new= new + i.upper()
print(new)
补充:
word.upper() #每个字母都大写
word.title() # 单词首字母大写
18 计算字母和数字个数
s="hello word 123"
s_count=0
n_count=0
for char in s:
if char.isalpha():
s_count+=1
elif char.isdigit()
n_count+=1
print("字母的数量'%s',数字的数量‘%s’"%(s_count,n_count))
19 替换空格 把字符串中的空格替换成%0
s='djbaub suan an'
# 方法1
print(s.replace(" ","%0"))
# 方法2
def demo(s):
new=""
for i in s:
if i==" ":
new+="%0"
else :
new+=i
return new
print(demo(s))
20 使用列表推导式输出每一个奇数
result= [x for x in range(1,101) if x%2!=0]
print(result)