您的位置:首页 > 编程语言 > Python开发

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

2020-07-15 05:39 176 查看

花式打印九九乘法表+菱形【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)

*
**
***
*******
***
**
*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: