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