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)


请给定符号:*
请给定行数:5
    * 
   * * 
  * * * 
 * * * * 
* * * * * 

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


1*1= 1 
2*1= 2 2*2= 4 
3*1= 3 3*2= 6 3*3= 9 
4*1= 4 4*2= 8 4*3=12 4*4=16 
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

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)


请输入一个2-100000之间的整数:18
不能表示为两个质数之和

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='')


1 [1,2,3,4,5]
2 [1,2,3,4,5]
3 [1,2,3,4,5]
4 [2,3,4*,5,6]
5 [3,4,5*,6,7]
6 [4,5,6*,7,8]
7 [5,6,7*,8,9]
8 [6,7,8*,9,10]
9 [7,8,9*,10,11]
10 [8,9,10*,11,12]
11 [9,10,11*,12,13]
12 [10,11,12*,13,14]
13 [11,12,13*,14,15]
14 [12,13,14*,15,16]
15 [13,14,15*,16,17]
16 [14,15,16*,17,18]
17 [15,16,17*,18,19]
18 [16,17,18*,19,20]
19 [17,18,19,20,21]
20 [19,19,20,21,22]

In [ ]: