关于format对齐后的换行问题,运用右对齐后实现不了10个字符换行
def fbnq(n):if n == 1:
return 1
elif n == 0:
return 0
else:
return fbnq(n-1)+fbnq(n-2)
count = 0
for i in range(1,21):
print('{0:5}'.format(fbnq(i)))
if count % 10 == 0:
print('\n')
count += 1
想实现打印十个字符换行,为什么实现不了
本帖最后由 BngThea 于 2017-11-11 22:04 编辑
仔细检查了一下,存在两个问题:
1 第一个print后面缺少end参数,导致每次执行都会换行
2 count初始化为0,导致第一个数就会换行
修改如下:
def fbnq(n):
if n == 1:
return 1
elif n == 0:
return 0
else:
return fbnq(n-1)+fbnq(n-2)
count = 1
for i in range(1,21):
print('{0:5}'.format(fbnq(i)),end=' ')
if count % 10 == 0:
print('\n')
count += 1
输出结果:
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 9871597258441816765
页:
[1]