本帖最后由 笨鸟学飞 于 2020-11-9 11:23 编辑 for i in range(0,5): #for in 循环不多解释
for j in range(i+1):
if i == 4: #for i in循环中,i=4的情况就是在最后一行,所以这里意思是最后一行全打印‘*’
print("*",end='')
continue
if j == 0 or j == i: #这个表示是三角形2条边的情况
print("*",end='')
else: #这个表示没在2条边的情况
print(" ",end='')
print() #这个表示打印完了一行,打印个换行符
=========你可能不太懂print()函数==========
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
重点给你说下sep=' ', end='\n'
sep表示多参数的分割字符串,默认是空格
例如:
>>> print(1,2,3)
1 2 3
>>> print(1,2,3,sep='') #这里设置成空字符串
123
end='\n'表示print()函数结尾默认为换行符(\n表示换行符)
例如:
>>> if 2>1:
print(1,2,3,end='\t123') #这里把结尾换成了制表符+123,并没有换行符,所以下一行直接接在123后面
print(4,5,6) #这里end未设置参数,默认换行,因此下面一行会换行后再打印
print(1,2,3)
1 2 3 1234 5 6
1 2 3