您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Python > python基础题目练习(附答案)
答案:答案:D答案:B【程序填空】---------------------------------------------------------题目:甲乙丙丁4人同时开始放鞭炮,甲每隔t1s放一次,乙每隔t2s放一次,丙每隔t3s放一次,丁每隔t4s放一次,每人各放n次。函数fun的功能是根据形参炸响,只算一次响声,第一次响声是在第0s。例如:若t1=7,t2=5,t3=6,t4=4,n=10,则总共可听到28次鞭炮声。---------------------------------------------------------注意:除要求填空的位置之外,请勿改动程序中的其他内容。------------------------------------------------------'''defOK(i,t,n):#**********SPACE**********return(i%t==0)and(i//tn)deffun(t1,t2,t3,t4,n):#**********SPACE**********maxt=t1ifmaxtt2:maxt=t2ifmaxtt3:maxt=t3ifmaxtt4:maxt=t4count=1#**********SPACE**********fortinrange(1,maxt*(n-1)):ifOK(t,t1,n)orOK(t,t2,n)orOK(t,t3,n)orOK(t,t4,n):count+=1#**********SPACE**********returncountdefmain():t1=7t2=5t3=6t4=4n=10r=fun(t1,t2,t3,t4,n)print(总共可听到%d次鞭炮声\n%r)if__name__=='__main__':main()'''------------------------------------------------------【程序填空】---------------------------------------------------------题目:求0-7所能组成的奇数个数。---------------------------------------------------------注意:除要求填空的位置之外,请勿改动程序中的其他内容。------------------------------------------------------'''deff(n):ifn==0:#**********SPACE**********return1#**********SPACE**********elifn==1:return7else:#**********SPACE**********returnf(n-1)*8defmain():l=[]foriinrange(1,9):#**********SPACE**********a=f(i-1)*4l.append(a)print(组成%d位数的奇数个数是%d个%(i,a))print(一共有%d个奇数%sum(l))if__name__=='__main__':main()【程序改错】---------------------------------------------------------题目:根据整型形参m的值,计算如下公式的值。111t=1-——-——-...-——2x23x3mxm例如:若m=5,则应输出:0.536389---------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------'''deffun(m):y=1.0#**********FOUND**********foriinrange(2,m+1):#**********FOUND**********y-=1.0/(i*i)returnydefmain():m=int(input(请输入整型形参m的值:))#**********FOUND**********print('结果为:%.6f'%fun(m))if__name__=='__main__':main()【程序填空】---------------------------------------------------------题目:有x个整数,使其前面各数顺序向后移y个位置,最后y个数变成最前面的y个数---------------------------------------------------------注意:除要求填空的位置之外,请勿改动程序中的其他内容。------------------------------------------------------'''defmain():x=int(input('整数x为:'))y=int(input('向后移y个位置为:'))#**********SPACE**********L=[]#**********SPACE**********foriinrange(0,x):#**********SPACE**********print('请输入第{}个数字:'.format(i+1),end='')L.append(int(input('')))print('原始列表为:',L)#**********SPACE**********print('更新列表为:',L[x-y:]+L[:x-y])if__name__=='__main__':main()【程序改错】---------------------------------------------------------题目:根据以下公式求π值,并作为函数值返回。例如:给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。π1121231234—=1+—+—x—+—x—x—+—x—x—x—+...23353573579---------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------'''deffun(eps):n=1s=0.0t=1#**********FOUND**********while(teps):s+=tt=1.0*n/(2*n+1)*t#**********FOUND**********n+=1#**********FOUND**********returns*2defmain():x=float(input(请输入一个变量x:))print(\neps=%lf,Pi=%lf\n\n%(x,fun(x)))if__name__=='__main__':main()答案:B答案:B【程序改错】---------------------------------------------------------题目:实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次,当登录成功时退出,否则三次失败后退出。---------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------'''deflogin(username,password):#**********FOUND**********ifusername==sevenoralexandpassword==123:print(登陆成功!)returnTrueelse:print(登录失败!)#**********FOUND**********returnFalsedefmain():username=input(请输入用户名:)password=input(请输入密码:)#**********FOUND**********ifnotlogin(username,password):foriinrange(3):username=input(请重新输入用户名,第%d次:%(i+1))password=input(请重新输入密码,第%d次:%(i+1))login(username,password)if__name__=='__main__':main()【程序填空】---------------------------------------------------------题目:从键盘输入1个正整数,把这个整数的各位数字重新组合,形成一个位数不变的最大数和最小数,并计算最大数与最小数的差。例如:输入241897,重组后最大数为:987421,最小数为:124789,差为:862632输入240097,重组后最大数为:974200,最小数为:200479,差为:773721---------------------------------------------------------注意:除要求填空的位置之外,请勿改动程序中的其他内容。------------------------------------------------------'''defbubblesortDown(date):length=len(date)#**********SPACE**********foriinrange(length-1):forjinrange(0,length-i-1):if(date[j]date[j+1]):t=date[j]date[j]=date[j+1]date[j+1]=tm=0if(date[m]=='0'):while(date[m]=='0'):#**********SPACE**********m+=1else:date[0]=date[m]date[m]='0'content=.join(date)returncontentdefbubblesortUp(date):length=len(date)foriinrange(length-1):forjinrange(length-1,i,-1):#**********SPACE**********if(date[j-1]date[j]):t=date[j-1]#**********SPACE**********date[j-1]=date[j]date[j]=tcontent=.join(date)returncontentdefdiss(a):list1=list(a)max=int(bubblesortUp(list1))min=int(bubblesortDown(list1))dis=max-minprint(最大数为:{},最小数为:{},差为:{}.format(max,min,dis))defmain():num=input(请输入一个正整数:)diss(num);if__name__=='__main__':main()【程序填空】---------------------------------------------------------题目:用户输入一个数组,并对其排好序,然后再输入一个数,要求按原来的规律将它插入数组中。---------------------------------------------------------注意:除要求填空的位置之外,请勿改动程序中的其他内容。-------------------
本文标题:python基础题目练习(附答案)
链接地址:https://www.777doc.com/doc-7027816 .html