python入门精选题(计算机二级考试可用)

python入门精选题(计算机二级考试可用)


2024年5月2日发(作者:)

Python入门 精选30题

1、输入一个三位整数,判断这个数是不是“水仙花数”;所谓“水仙花

数”是指一个三位数,其各位数字立方和等于该数,例如:153=1^3

+5^3 +3^3 ,153 就是水仙花数。

n=eval(input())

i=n

a=0

while i:

a=a+(i%10)**3

i=i//10

if a==n:

print("yes")

else:

print("no")

考点:循环结构、分支结构

2. 随机产生一个两位数的数字,然后用户输入一个两位数的数字,如

果用户输入的数字与 随机产生的数字完全相同(包括顺序),则输出

奖励 100 分;如果用户输入的数字与随机产生的数字相同(不包括

顺序), 则输出奖励 50 分;如果用户输入的数字与随机产生的数字

有一位数相同,则奖励 10 分,如果都不相同,则输入没有奖励。

import random

考点:产生随机数、取出一个整数各位上

a=t(10,99)

的数、分支结构

b=eval(input())

a1=a%10

a2=a//10

b1=b%10

b2=b//10

if 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=eval(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**l

print(a1,end='t’)

for y in range(i-1,-1,-1):

a1=2**y

print(a1,end='t')

for x in range(a-i):

print(' ',end='t')

print()

考点:循环结构、制表

4、如果一个素数可以写成2^ p -1的形式,其中p为一个正整数,

那么这个数被称作梅森素数。编写程序找出所有的p<= 31的梅森素

数。

考点:素数、循环结构、分支结构

def issushu(n):

k=1

for i in range(2,n):

a=n/i

if a%1==0:

k=0

return False

if k==1:

return True

p=1

while p<=31:

a=(2**p)-1

p+=1

if issushu(a):

print(a,end=' ')

5、写一个函数计算下面的数列

考点:循环结构

def m(n):

s=1

m=0

while s<=n:

a=s

s=s+1

m=m+(a/s)

return m

n=eval(input())

print(m(n))

6、神奇的 Collatz 序列。编写一个名为 collatz 的函数,它接收一

个名为 number 的整数参数, 如果 number 是偶数,就打印

number//2,并返回该值。否则打印 3*number+1 并返回。同 时编

写主程序,让用户输入一个整数,并不断地调用该函数(用第一次的

返回值做第二次的参数,以此类推) ,直到函数返回 1. 例如用户输

入 3 则打印输出应为

10

5

16

8

4

2

1

def collatz(number):

if number%2==0:

a=number//2

print(a)

return(a)

else:

b=number*3+1

print(b)

return(b)

number=eval(input())

考点:函数、循环结构、分支结构

while 1:

number=collatz(number)

if number==1:

break

7、一个数如果恰好等于它的除自身外的因子之和,这个数就称为“完

数”。例如 6=1+2+3, 6 是完数。编写程序输出 1 至 1000 之间

的所有完数。

def wanshu(n):

s=0

for i in range(1,n):

a=n/i

if a%1==0:

s=s+i

if s==n:

return True

for i in range(1,1001,1):

if wanshu(i):

print(i,end=' ')

考点:完数、print输出格式、循环结构、

分支结构

8、使用 turtle 绘制一个黄色边框的红色五角星。(五角星的每个

内角均为 36°)

import turtle

rtle

e(5)

("yellow","red")

_fill()

for i in range(5):

d(100)

(144)

d(100)

_fill()

rtle

太阳花:

import turtle

e(3)

(10)

考点:turtle内置函数

('yellow','red')

_fill()

for i in range(30):

d(100)

(165)

d(100)

_fill()

9、使用 turtle 绘制奥运五环(蓝黑红黄绿)

import turtle

rtle

e(10)

(10)

("black")

()

(0,0)

n()

(100)

("blue")

()

(-250,0)

n()

(100)

("red")

()

(250,0)

n()

(100)

("yellow")

()

(-125,-70*(3**0.5))

n()

(100)

("green")

()

(125,-70*(3**0.5))

n()

(100)

考点:turtle内置函数

10、打印9*9乘法表

考点:循环结构、分支结构、输出格式

for i in range(1,10):

if i==1:

print("1 * 1 = 1")

else:

for j in range(1,i+1):

print(j,"*",i,"=",j*i,end="t") #”t”是制表符

print()

11、编写程序读取一个大于1的正整数,然后显示它所有的最小因

子,也称之为素因子(即将一个正整数分解质因数)。例如:输入整

数为90,输出90=2*3*3*5。

n=eval(input())

print(n,end='=')

while n:

for i in range(2,n+1):

考点:循环结构求因子、分支结构、输出

格式

a=n/i

if a%1==0 and a!=1:

print(i,end='*')

break

elif a%1==0 and int(a)==1:

print(i,end='')

break

n=int(a)

12、从键盘输入整数n,输出数字方阵。例如:输入n=5,输出如下:

1 2 3 4 5

2 3 4 5 1

考点:循环结构、分支结构、制表

3 4 5 1 2

4 5 1 2 3

5 1 2 3 4

n=eval(input())

for i in range(1,n+1):

for j in range(i,n+1):

print(j,end='t')

if i==1:

print()

if i!=1:

for k in range(1,i,1):

print(k,end='t')

print()

13、素数是指一对差值为2的素数。如3和5就是一对双素数。编

写程序,输入正整数n,输出大于等于n的最小的一对双素数。

def issushu(n):

k=1

考点:循环结构、分支结构、素数

for i in range(2,n):

a=n/i

if a%1==0:

k=0

return False

if k==1:

return True

n=eval(input())

while 1:

if issushu(n) and issushu(n+2):

print(n,n+2,sep=' ')

break

else:

n=n+1

14、反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素

数的非回文数。例如:17和71都是素数,所以,17和71都是反素

数。编写程序,输入一个正整数,显示大于该数的前10个反素数。

def issushu(n):

考点:函数:素数、回文数

a=True

for i in range(2,n):

if (n/i)%1==0:

a=False

return False

if a==True:

return True

def nixiang(m):

m=str(m)

m=m[::-1]

m=eval(m)

return m

def nothuiwenshu(s):

s=str(s)

if s==s[::-1]:

return False

else:

return True

z=eval(input())

s=0

while s<10:

z=z+1

if issushu(z) and issushu(nixiang(z)) and nothuiwenshu(z):

s+=1

if s<10:


发布者:admin,转转请注明出处:http://www.yc00.com/news/1714619072a2481803.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信