关于数字阶梯
n=5for i in range(1,n):
for j in range(1,i+1):
print(str(i*j),end=' ')
print('')
请问最后一行print('')的作用是什么呀?为什么这个代码打印出来的结果会呈现阶梯状呢? print 有个默认参数end = '\n'最后一个 print 就是为了换行作用的 本帖最后由 Twilight6 于 2020-5-22 19:51 编辑
print(str(i*j),end=' ')
这个print 被人为 end = ' ' 赋值了所以覆盖了之前的 end = '\n' 换行符所以不会换行 ,打印的都在同一行,等 for j in range(1,i+1) 循环结束后 就到 第二个print
print('')
也就是 你问的 print('') 是为了 每次for j in range(1,i+1)那个循环结束后 再自动换行 print(str(i*j),end=' ')如果把这里面的end = ' '去了 结果会是:
1
2
4
3
6
9
4
8
12
16
加上end = ' ' 结果就是阶梯状了:
1
2 4
3 6 9
4 8 12 16
如果把print('') 去了结果是:
1 2 4 3 6 9 4 8 12 16
所以print('')在这是为了换行的作用 本帖最后由 一抹心尘 于 2020-11-1 17:26 编辑
这个出处是小甲鱼课后作业中的9X9乘法公式。只不过n = 10 你这里n = 4罢了。
print 函数它的结束有个默认参数,end = '\n' 这是一个换行符,
最后一个 print 就是为了换行作用的,它起的作用是在每次循环完了之后都能换行,
也就是要出现你说的阶梯形状。
你一旦去掉,那么就会变成一行结果输出,因为它不会再在每次循环运算之后再换行了嘛,也就是作为一行直接输出出来,就不再有阶梯的这种美观。
T佬已经写的很详细了,你自己对照着他的代码步骤,一个个调试,自己去看看每一个代码改变前后以及删除前后的差别,就可以很好的理解了。
页:
[1]