《python入门精选题(计算机二级考试可用》由会员分享,可在线阅读,更多相关《python入门精选题(计算机二级考试可用(18页珍藏版)》请在人人文库网上搜索。
1、Python入门 精选30题考点:循环结构、分支结构1、输入一个三位整数,判断这个数是不是“水仙花数”;所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,例如:153=13 +53 +33 ,153 就是水仙花数。n=eval(input()i=na=0while i:a=a+(i%10)*3i=i/10if a=n:print(yes)else:print(no)2. 随机产生一个两位数的数字,然后用户输入一个两位数的数字,如果用户输入的数字与 随机产生的数字完全相同(包括顺序),则输出奖励 100 分;如果用户输入的数字与随机产生的数字相同(不包括顺序), 则输出奖励 50 分;如。
2、果用户输入的数字与随机产生的数字有一位数相同,则奖励 10 分,如果都不相同,则输入没有奖励。考点:产生随机数、取出一个整数各位上的数、分支结构import randoma=random.randint(10,99)b=eval(input()a1=a%10a2=a/10b1=b%10b2=b/10if a=b:print(100)elif a1=b2 and a2=b1:print(50)elif a1=b1 or a2=b2 or a1=b2 or a2=b1:print(10)else:print(0)3.在金字塔模式中显示数字(编写一个嵌套 for 循环来显示下面的输出) : a=ev。
3、al(input()for i in range(a):考点:循环结构、制表if i=0:for j in range(a-i):print( ,end=t)print(1,end=)for j in range(a-i):print( ,end=t)print()elif i!=0:for k in range(a-i):print( ,end=t)for l in range(0,i+1):a1=2*lprint(a1,end=t)for y in range(i-1,-1,-1):a1=2*yprint(a1,end=t)for x in range(a-i):print( ,end=t。
4、) print()考点:素数、循环结构、分支结构4、如果一个素数可以写成2 p -1的形式,其中p为一个正整数,那么这个数被称作梅森素数。编写程序找出所有的pmax1:max1=xprint(max1)方法二a=for i in range(30):x=eval(input()a.append(x)max1=max(a)print(max1)考点:字符串、Unicode码与ord、chr函数19、初始化一个小写英文字符串a和一个非负数b(0z:x=chr(ord(i)+b-26) #如果超过了z就回到了al.append(x)l=.join(l)print(l)20、输入一个字符串a和一个正整。
5、数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。考点:字符串及其索引的应用a=input()b=eval(input()c=len(a)o=0for i in range(c-b+1):k=ai:i+bif k=k:-1 and len(k)=b:o=1print(YES)if o=0:print(NO)21、N的阶乘定义为:N!=N(N1)21请编写一个程序,输出N的阶乘的十进制表示中从最末一个非0位开始自低位向高位数的第K位。现在给你N和K(01:for i in range(1,N+1,1):jiecheng=jiecheng*ix=jiechengw=s。
6、tr(jiecheng)w=w.rstrip(0)w=w:-1k=wK-1print(k)22、编写函数 def repeat(string, n, delim):考点:循环结构、字符串、函数返回string重复n次的字符串,并且使用字符串delim分隔。例如,repeat(“ho”, 3, “,”)返回“ho,ho,ho”def repeat(string,n,delim):x=for i in range(n):x=x+string+delimreturn xstring=input()n=eval(input()delim=input()print(repeat(string,n,del。
7、im)考点:循环结构、列表及其内置函数、函数23、编写函数def merge(a, b),合并两个列表,其中元素交替来自于两个列表。如果一个列表比另一个短,则把短的处理完,然后追加长列表中的剩余元素。def merge(a,b):c=l1=len(a)l2=len(b)if l1=l2:优化答案def merge(a, b):l=for i in range(min(len(a),len(b):l.append(a.pop(0) #把列表a开头第一个元素删除并将返回值添加到列表l中l.append(b.pop(0)l.extend(a) #把列表a添加到列表l的尾部l.extend(b)ret。
8、urn l for i in range(l1):c.append(ai)c.append(bi)elif l1l2:for i in range(l2):c.append(ai)c.append(bi)c=c+(ai+1:)return c24、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?for i in range(1,5):for j in range(1,5):for k in range(1,5):if i!=k and i!=j and j!=k:print(i,j,k)25、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第。
9、10次落地时,共经过多少米?第10次反弹多高?def jianban(n):n=n/2return na=eval(input(请输入高度:)b=eval(input(请输入落地次数:)c=ad=ae=a#反弹高度for i in range(b):a=jianban(a)#路程if b=1:c=aelif b=2:c=2*celif b2:for j in range(0,b-2,1):c=c+jianban(d)d=jianban(d)c=c+eprint(经过,c,米,第,b,次反弹,a,米,sep=)26、最大公约数和最小公倍数的计算。从键盘接收两个整数,编写程序求出这两个整数的最大公。
10、约数和最小公倍数(两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)a,b=ab)#求最大公约数a=eval(input()b=eval(input()c=min(a,b)ys=k=0for i in range(2,c+1):if(a/i)%1=0 and (b/i)%1=0:ys.append(i)k=1if k=0:maxyueshu=1else:maxyueshu=max(ys)print(maxyueshu)#求最小公倍数minbeishu=(a*b)/maxyueshuprint(%d%minbeishu)27、将1,2,9共9个数分成三组,分别组成三个三位数,且使。
11、这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。for i in range(100,1000):a=2*ib=3*iif 100a1000 and 100b1000:print(i,a,b,sep= )28、若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个10进制数56,将56加56(即把56从右向左读),得到121是一个回文数。又如:对于10进制数87:STEP1:87+78 = 165 STEP2:165+561 = 726STEP3:726+627 = 1353 STEP4。
12、:1353+3531 = 4884在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。def ishui(n):n=str(n)if n=n:-1:return Trueelse:return Falsedef ni(n):n=str(n)n=n:-1n=eval(n)return nN=eval(input()if 2=N=10:N=Nelse:N=16M=eval(input()if N!=10:M=str(M)M=int(M,N) #将一个任意进制的数转化为十进制数M=int(M)cn=0while not ishui(M):M=M+ni(M)cn+=1if cn。
13、=30:print(STEP,=,cn,sep=,end=)else:print(Impossible!) 29、判断字符串中各元素的类型a=b=c=0n=input()for char in n:if char=n:#换行符breakelif 0=char=9:a+=1elif a=char=z:b+=1elif A=char=Z:c+=1print(有数字,a,个,有大写字母,c,个,有小写字母,b,个,sep=)30、编写函数:number是一个整数,若该数比指定宽度长则显示原数字符串,否则在前面补0以匹配指定宽度。def tiaokuandu(n,width=5):n=str(n)w=len(n)if w=width:return nelse:n=n:-1n1=0*(width-w)n=n+n1n=n:-1return n31、编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)import randoml=for i in range(20):a=random.randint(1,100)l.append(a)print(l)l:2=sorted(l:2,reverse=True) #True是降序print(l。