两种方式,一种是一个一个的打印,另一种是一行一行的打印。
方法一:
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)
*
**
***
*******
***
**
*