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条)