花式打印九九乘法表+菱形【python】【面试】

花式打印九九乘法表+菱形【python】【面试】

两种方式,一种是一个一个的打印,另一种是一行一行的打印。

方法一:
for i in range(1, 10):
    for j in range(1, i+1):
        print("{}*{}={} ".format(j, i, i*j),
              end='\n' if i == j else ‘\t’)
            # 这种格式叫三元表达式
a=['1','2','3','4','5']
print(a)
print(*a, sep='*’)#把可迭代对象的元素拿出来,遍历输出,字典的话拿的是key
for i in range(1, 10):
    line=[]
    for j in range(1, i+1):
        line.append("{}*{}={}{}".format(j, i, i*j,
                    ‘  ' if i<5 and j==2 else ‘ '))
    print(*line, sep=‘ ‘)

1*1=1
1*2=2 2*2=4 
1*3=3 2*3=6  3*3=9
1*4=4 2*4=8  3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
方法二:
for i in range(1, 10):
    print((i - 1) * '\t\t', end='')
    for j in range(i, 10):
        print("{}*{}={} ".format(i, j, i * j),
              end='\n' if j == 9 else '\t')

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

[20200403面试题]
def sanjiao(n):
    for i in range(1, n + 1):
        a=[1]
        for j in range(1,i):
            a.append(1)
        print(a)
sanjiao(5)

[1]
[1, 1]
[1, 1, 1]
[1, 1, 1, 1]
[1, 1, 1, 1,1]

找规律,分情况
【20200317滴滴面试问】参数化以后“{:^7}”中的7怎么实现参数化呢

for i in range(-3,4)#找到了对称关系
    # {:^7}的意思是占七位,居中显示
    print("{:^7}".format('*'*(7-2*abs(i)))
 print("{:^7}".format('*'* (1+(2*abs(i))))) 
 
[滴滴面试升级参数化]
def fun1(x):
    a=x//2
    b=x-a
    for i in range(-a,b):
        print("{:^{}}".format('*'*(x-2*abs(i)),x))

   *   
  ***  
 *****
*******
 *****
  ***
   *
   
n = 7
e = n//2
x = n - e
for i in range(-e, x):
    if i < 0:
        print(' ' * -i + (x + i) * '*')
    elif i > 0:
        print(' ' * e + (x - i) * '*')
    else:
        print('*' * n)
        
   *
  **
 ***
*******
   ***
   **
   *



你可能感兴趣的:(数据结构,面试,python,python,面试,列表,数据结构)