24讲python杨辉三角
所以为什么一会空格一会\t啊,我不理解小甲鱼的代码如下:
# 输出杨辉三角形
for i in range(10):
# 因为是三角形,所以i越小,前边需要填充的TAB越多
for k in range((10-i)//2):
print('\t', end='')
for j in range(i+1):
# 要形成“隔行错开”的效果,所以我们在偶数行加4个空格
if i % 2 == 1:
print(" ", end='')
# 为何要使用TAB而非空格,大家可以将下面的end='\t'改成对应的空格数即可知晓
print(triangle, end='\t')
print() 我试过了的确,把空格换成\t或者把\t换成空格,都会导致三角形乱掉,但是,为啥呢,再说tab在idle里不是4个空格嘛,不应该是一样的吗 本帖最后由 jackz007 于 2022-10-13 17:26 编辑
出了 IDLE 是 CMD 的地盘,每个 tab 控制 8 个字符的域宽。你应该在显示数值的时候,统一使用一个域宽,比如说 3,然后,外加一个空格来处理试试看。 jackz007 发表于 2022-10-13 17:24
出了 IDLE 是 CMD 的地盘,每个 tab 控制 8 个字符的域宽。你应该在显示数值的时候,统一使用一 ...
哦哦,大感谢!那么问问在这个问题里,小甲鱼为什么要tab和空格一起用呢,为什么单用tab和单用空格都会出问题 本帖最后由 jackz007 于 2022-10-13 18:02 编辑
星夕ING 发表于 2022-10-13 17:32
哦哦,大感谢!那么问问在这个问题里,小甲鱼为什么要tab和空格一起用呢,为什么单用tab和单用空格都会出 ...
看看这个如何:
def yang(n):
d = [ for i in range(n)]
for i in range(2 , n):
for j in range(1 , i):
d = d + d
return d
def show(d):
for i in range(len(d)):
print(' ' * (len(d) - 1 - i) * 2 , end = '')
print('%3d' % d , end = '')
for j in range(1 , len(d)):
print(' %3d' % d , end = '')
print()
show(yang(int(input('输入 n : '))))
运行实况:
D:\\Python>python x.py
输入 n : 10
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 51010 5 1
1 6152015 6 1
1 721353521 7 1
1 82856705628 8 1
1 93684 126 1268436 9 1
D:\\Python> jackz007 发表于 2022-10-13 17:53
看看这个如何:
运行实况:
好!谢谢非常感谢
页:
[1]