deffunc(p_data:str):
digit =0
letter =0
other =0for dt in p_data:if dt.isdigit():
digit +=1elif dt.encode('UTF-8').isalpha():
letter +=1else:
other +=1returnf"字符串中包含:{digit} 个数字,{letter} 个字母,{other} 个其他内容。"#判断类型
data =input("请输入字符串内容:")print(func(data))
2、编写函数:输入三角形的三边长a、b、c,输出三角形的面积。
import math
flag =Truewhile flag :
a =float(input('请输入三角形的第一边长:'))
b =float(input('请输入三角形的第一边长:'))
c =float(input('请输入三角形的第一边长:'))if(a >0and b >0and c >0):
flag =Falseelse:
flag =Trueprint('输入的三边边长必须要大于0,请重新输入!\n')# 判断三边是否能构成三角形if( a+b > c and c-a < b and c-b < a ):
d =(a+b+c)/2
Area = math.sqrt( d*(d-a)*(d-b)*(d-c))print('三角形面积为:%0.2f'% Area)else:print('当a = %0.2f, b = %0.2f, c = %0.2f为三边长时,不能构成三角形'%(a, b, c))
deffun(list):all=0
ave=0max=0min=-1
n=0for i inlist:all+=i
ave+=1if(min>i ormin==-1):min=i
if(max<i):max=i
ave=all/ave
for j inlist:
n+=1
std=(i-ave)**2
std=round((std/(n-1))**0.5,2)return{'最大值':max,'最小值':min,'平均值':ave,'样本标准方差':std}#求值list=[1,3,5,6]print(fun(list))
4、编写函数用于验证:任意一个大于2的偶数都可以表示成2个素数之和。
# 第一步:得到n以内的素数列表defgetPrimeList(n):
prime_list =[]for i inrange(1, n,1):
flag =Truefor j inrange(1, i,1):if i % j ==0and i != j and j !=1:
flag =Falseif flag ==True:
prime_list.append(i)return prime_list
# 第二步:判断n是否可以分解成两个素数之和defisValid(n, prime_list):for i in prime_list:
j = n - i
if j in prime_list:# n 可以表示为两个素数之和print('%d = %d + %d'%(n, i, j))returnTrue# n 不能表示为两个素数之和returnFalse# 第三步:找到1000以内的素数、偶数列表
n =1000# 找到1000 以内的素数列表
prime_list = getPrimeList(n)# 找到1000 以内的偶数列表
even_list =list(range(2, n+1,2))# 第四步:验证哥德巴赫猜想for n in even_list:# 判断哥德巴赫猜想
flag = isValid(n, prime_list)if flag ==False:print("我找到一个特例".center(40,'*'))