鱼C论坛

 找回密码
 立即注册
查看: 4413|回复: 1

关于format对齐后的换行问题,运用右对齐后实现不了10个字符换行

[复制链接]
发表于 2017-11-11 15:32:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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

   




想实现打印十个字符换行,为什么实现不了


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-11-11 16:15:19 From FishC Mobile | 显示全部楼层
本帖最后由 BngThea 于 2017-11-11 22:04 编辑

仔细检查了一下,存在两个问题:
1 第一个print后面缺少end参数,导致每次执行都会换行
2 count初始化为0,导致第一个数就会换行

修改如下:
  1. def fbnq(n):
  2.     if n == 1:
  3.         return 1
  4.     elif n == 0:
  5.         return 0
  6.     else:
  7.         return fbnq(n-1)+fbnq(n-2)

  8. count = 1
  9. for i in range(1,21):
  10.     print('{0:5}'.format(fbnq(i)),end=' ')
  11.     if count % 10 == 0:
  12.         print('\n')
  13.     count += 1  
复制代码


输出结果:
  1.     1     1     2     3     5     8    13    21    34    55

  2.    89   144   233   377   610   987  1597  2584  4181  6765
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-16 04:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表