20220509 最后更新时间:2022年05月09日 ## 1.py 编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果 ```python intcount=[] upstrcount=[] lowstrcount=[] othercount=[] def number(a): for i in a: if i.isdigit(): intcount.append(i) elif i.isupper(): upstrcount.append(i) elif i.islower(): lowstrcount.append(i) else: othercount.append(i) return intcount,upstrcount,lowstrcount,othercount a=input('请输入一个字符串:') a,b,c,d=number(a) print('大写字母的个数:{}'.format(len(a))) print('小写字母的个数:{}'.format(len(b))) print('数字的个数:{}'.format(len(c))) print('其他字符的个数:{}'.format(len(d))) a=tuple(a) b=tuple(b) c=tuple(c) d=tuple(d) print(a,b,c,d) ``` 使用python内置函数isdigit,isupper,islower判断是否为数字 使用append增加元素 最后使用tuple()将其化为元组 ## 2.py 编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和 ```python def number(a): Max = 0 Min = a[0] Sum = 0 for i in a: Sum=Sum+i if(i>Max): Max=i if(i a[j + 1]): temp = a[j] a[j] = a[j + 1] a[j + 1] = temp return a a=[1,3,8,4,7,4,7,4,9,4,2] print(mySorted(a,1)) ``` 自定义mySorted函数并在内使用冒泡排序法对列表中元素进行排序 *使用元组不能修改其中元素故无法用于排序* ## 4.py 用字典建立一个通讯录,向字典中添加和删除通讯人(名字、电话、邮箱、工作单位等),查询某个人的信息,然后输出通讯录中所有人的信息 ```python def add(): name,tel,email,add=input('请输入您要添加的通讯人信息,以空格分开\n').split() contacts.append({'姓名':name,'电话':tel,'电子邮箱':email,'公司':add}) def lookfor(name): for d in contacts: if d['name']==name: return d else: print('查无此人') def delect(): name=input('请输入要删除人的姓名\n') contacts.remove(lookfor(name)) def inquire(): name=input('请输入需要查询的人的姓名\n') print(lookfor(name)) def outputall(): for d in contacts: print(d) contacts=[] while(1): print('请输入您所需要的功能\n1:添加通讯人 2:删除通讯人 3:查询通讯人 4:输出所有人信息 5:退出\n') cmd=input() if cmd=='1': add() elif cmd=='2': delect() elif cmd=='3': inquire() elif cmd=='4': outputall() elif cmd=='5': break else :print('输入错误\n') ``` define了几个所需的函数,并且调用了字典中内置的remove(),lookfor()函数实现通讯录功能 ~~*借鉴了CSDN上的内容*~~ ## 5.py 用生成器的方式计算任意起止范围内质数的和。质数,又称素数,是大于1的自然数,除了1和它本身外,不能被其他自然数整除 ```python def primeSum(a,b): sum=0 if (a <= 0): a = 2 for i in range(a,b+1): flag=0 for j in range(2,b): if(i%j==0): flag=1 if(flag==0): sum=sum+i return sum print(primeSum(12,14)) ``` 遍历range(a,b+1) *range (a, b) 的范围是:包括 a, 不包括 b: 即是: **range (a, b) = a 到 b-1*** 先预置一个flag并令其为0,遍历2到b的所有数,一旦可以整除则令flag=1,最后判断flag是否为0来判断是否被整除过即是否为素数 使用sum计算所有素数之和
Comments | NOTHING