1、写函数,给定符号和行数,如’*’,5,可打印相应行数的如下图形:
In [5]:
def dayin(m,n):
for i in range(n):
print(' '*(n-i-1)+(m+' ')*(i+1))
m=input('请给定符号:')
n=int(input('请给定行数:'))
dayin(m,n)
2、打印如下9*9 乘法口诀表,注意每列左侧竖向对齐。
In [22]:
for i in range(1, 10):
for j in range(1,10):
if j<=i:
print('{}*{}={:2}'.format(i,j,i*j),end=' ')
print()
3、写函数,可检查一个数(2-100000之间整数)能不能表示成两个质数之和,如果能,则打印这两个质数。主程序用18及93887分别做测试。
In [19]:
def zhishu(k):
i=1
while i<(int(k**1/2)+1):
i+=1
if k%i==0:
break
else:
continue
if i<=int(k**1/2)+1:
return 0
else:
return 1
def jiancha(m):
flag=0
for k in range(2,m+1):
if zhishu(k)==1 and zhishu(m-k)==1:
flag=1
else:
flag=0
if flag==1:
print('能表示为两个质数之和为:',m,'=',k,'+',m-k)
else:
print('不能表示为两个质数之和')
m=int(input('请输入一个2-100000之间的整数:'))
jiancha(m)
4、有一个列表:[1, 2, 3, 4…n],n=20;请编写代码打印如下规律的输出(不允许直接拷贝并直接打印作为答案,想象n可能是变量):
In [18]:
for i in range(1,21):
if i<=3:
print(i,' ','[',1,',',2,',',3,',',4,',',5,']',sep='')
elif i<=(21-3):
print(i,' ','[',i-2,',',i-1,',',i,'*,',i+1,',',i+2,']',sep='')
else:
print(i,' ','[',2*i-21,',',i-1,',',i,',',i+1,',',i+2,']',sep='')
In [ ]: