1、冒泡排序lis=[56,12,1,8,354,10,100,34,56,7,23,456,234,-58]defsortport():foriinrange(len(lis)-1):forjinrange(len(lis)-1-i):iflis[j]>lis[j+1]:lis[j],lis[j+1]=lis[j+1],lis[j]returnlisif__name__=='__main__':sortport()print(lis)2.计算x的n次方defpower(x,n):s=1while>0:n=n-1s=s*xreturns调用方法:print(power(2,4))3.计算a*a+b*b+c*c+...defcalc(*numbers):sum=0forninnumbers:sum=sum+n*nreturnsumprint(calc(2,4,5))4.计算阶乘n!#方法一deffac():num=int(input("请输入一个数字:"))factorial=1#检查数字是负数,0还是正数ifnum<0:print("对不起,负数没有阶乘")elifnum==0:print("0的阶乘为1")else:foriinrange(1,num+1):factorial=factorial*iprint("%d的阶乘为%d"%(num,factorial))if__name__=='__main__':fac() #方法2deffac():num=int(input("请输入一个数字:"))#检查数字是否为负数、0或正数ifnum<0:print("Sorry,负数没有阶乘")elifnum==0:print("0的阶乘为1")else:print("%d的阶乘为%d"%(num,factorial(num)))deffactorial(n):result=nforiinrange(1,n):result=result*ireturnresulttif__name__=='__main__':fac()#方法三deffac():num=int(input("请输入一个数字:"))#检查数字是负数,0还是正数ifnum<0:print("抱歉,负数没有阶乘")elifnum==0:print("0的阶乘为1")else:print("%d的阶乘为%d"%(num,fact(num)))defact(n):ifn==1:return1returnn*fact(n-1)if__name__=='__main__':fac()5。列出当前目录下的所有文件和目录名importosfordinos.listdir('.'):print(d)anotherlist导出代码:[dfordinos.listdir('.')]6.将一个列表中的所有字符串全部转为小写:L=['Hello','World','IBM','Apple']forsinL:s=s.lower()print(s)#将列表中的每个字符串改为小写,并将每个字符串返回给另一个列表理解代码:L=['Hello','World','IBM','Apple']print([s.lower()forsinL])#整个列表中所有字符串都变成小写,返回一个list7,输出所有的路径某个路径下的文件和文件夹defprint_dir():filepath=input("请输入路径:")iffilepath=="":print("请输入正确的路径")else:foriinos.listdir(filepath):#get目录下的文件和子目录列表print(os.path.join(filepath,i))#Combinepathsprint(print_dir())8、输出一个路径及其子目录下的所有文件路径defshow_dir(filepath):foriinos.listdir(文件路径):path=(os.path.join(filepath,i))print(path)ifos.path.isdir(path):#isdir()d判断是否为目录show_dir(path)#如果是目录,则使用递归方法filepath="C:ProgramFilesInternetExplorer"show_dir(filepath)9.输出某路径及其子目录下所有以.html为后缀的文件defprint_dir(filepath):foriiinos.listdir(filepath):path=os.path.join(filepath,i)ifos.path.isdir(path):print_dir(path)ifpath.endswith(".html"):print(path)filepath="E:PycharmProjects"print_dir(文件路径)10。反转原始字典的键值对,产生新字典dict1={"A":"a","B":"b","C":"c"}dict2={y:xforx,yindict1.items()}print(dict2)#输出结果为{'a':'A','b':'B','c':'C'}11、打印九九乘法表foriinrange(1,10):forjinrange(1,i+1):print('%dx%d=%d'%(j,i,i*j),end='')#通过指定end参数的值,可以取消末尾回车的输出,实现不换行打印()12。将列表中的所有3替换为3anum=["harden","lampard",3,34,45,56,76,87,78,45,3,3,3,87686,98,76]print(num.count(3))print(num.index(3))foriinrange(num.count(3)):#获取3出现的次数ele_index=num.index(3)#获取3第一次出现的坐标num[ele_index]="3a"#修改3为3aprint(num)13,打印每个名字L=["James","Meng","Xin"]foriinrange(len(L)):print("Hello,%s"%L[i])14.合并去重list1=[2,3,8,4,9,5,6]list2=[5,6,10,17,11,2]list3=list1+list2print(list3)#不去重,只合并两种列表方式(数字和字母)importrandomlist1=[]foriinrange(65,91):list1.append(chr(i))#通过for循环遍历asii追加到空列表forjinrange(97,123):list1.append(chr(j))forkinrange(48,58):list1.append(chr(k))ma=random.sample(list1,6)print(ma)#得到的list为ma=''.join(ma)#转换列表对于字符串print(ma)importrandom,stringstr1="0123456789"str2=string.ascii_letters#string.ascii_letters包含字符串str3=str1+str2ma1=random.sample(str3,6)#multiple选择特定数量的字符ma1=''.join(ma1)#使用join拼接转成字符串print(ma1)#利用已有方法引入string模块和random模块16.随机数游戏#随机数游戏importrandomi=1a=random.randint(0,100)b=int(input('请输入一个0-100的数字,并检查是否与电脑相同:'))whilea!=b:ifa>b:print('%d处输入的数字小于随机数电脑'%i)b=int(input('请重新输入数字:'))else:print('你输入的数字%d大于电脑随机数'%i)b=int(input('请再输入一次:'))i+=1else:print('恭喜,您第%d次输入的数字与电脑的随机数%d相同'%(i,b))17.计算平方根num=float(input('请输入一个数字:'))num_sqrt=num**0.5print('%0.2f的平方根是%0.2f'%(num,num_sqrt))18.判断字符串是否只由数字组成#方法1defis_number(s):try:float(s)returnTrueexceptValueError:passtry:importunicodedataunicodedata.numeric(s)returnTrueexcept(TypeError,ValueError):passreturnFalset="a12d3"print(is_number(t))#方法2t="q123"print(t.isdigit())#检测字符是否字符串只由数字组成 #方法3t="123"print(t.isnumeric())#检查字符串是否只由数字组成。该方法只针对unicode对象19.判断奇偶数#方法一num=int(input('请输入一个数字:'))if(num%2)==0:print("{0}是一个偶数".format(num))else:print("{0}为奇数".format(num)) #方法2whileTrue:try:num=int(input('请输入一个整数:'))#判断输入是否为整数,不是纯数字要重新输入exceptValueError:print("Theinputisnotaninteger!")continueif(num%2)==0:print("{0}isanevennumber".format(num))else:print("{0}为奇数".format(num))break20,判断闰年#方法1year=int(input("请输入年份:"))if(year%4)==0:if(year%100)==0:if(year%400)==0:print("{0}是闰年".format(year))#一百年能被400整除是闰年else:print("{0}isnotaleapyear".format(year))else:print("{0}isaleapyear".format(year))#如果非百年期间可以被4整除,则是闰年else:print("{0}不是闰年".format(year)) #方法2year=int(input("请输入年份:"))if(year%4)==0and(year%100)!=0or(year%400)==0:print("{0}是闰年".format(year))else:print("{0}不是闰年".format(year)) #方法3importcalendaryear=int(input("请输入年份:"))check_year=calendar.isleap(year)ifcheck_year==True:print("%d为闰年"%year)else:print("%d为平年"%year)21.获取maximumvalueN=int(input('请输入需要比较的数字:'))print("请输入要比较的数字:")num=[]foriinrange(1,N+1):temp=int(input('请输入第%d个数字:'%i))num.append(temp)print('您输入的数字是:',num)print('最大值为:',max(num)) N=int(input('请输入需要比较的数的个数:'))num=[int(input('请输入第%d个数:'%i))foriinrange(1,N+1)]print('你输入的数字是:',num)print('最大值是:',max(num))22、斐波那契数列斐波那契数列就是指这样的数列0、1、1、2、3、5、8、13;特别地:第0项为0,第1项为第1项,从第3项开始,每一项等于前两项之和。#判断输入值是否合法ifnterms<=0:print("请输入一个正整数。")elifnterms==1:print("斐波那契数列:")print(n1)else:print("斐波那契数列:")print(n1,",",n2,end=",")whilecount
