鱼C论坛

 找回密码
 立即注册
查看: 1917|回复: 7

[已解决]请教这段代码为何运行出问题?

[复制链接]
发表于 2017-3-25 00:42:30 | 显示全部楼层 |阅读模式

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

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

x
def triangles():
    b=[1]
   
   
    while True:
        c=[1]
        for i in range(len(b)-1):
            c.append(b[i]+b[i+1])
        b=c.append(1)
        yield b

n=0
for i in triangles():
       print(i)
       n+=1
       if n==10:
            break

最佳答案
2017-3-25 12:15:42
把b=c.append(1)改一下就行了。
  1. def triangles():
  2.     b=[1]
  3.    
  4.    
  5.     while True:
  6.         c=[1]
  7.         for i in range(len(b)-1):
  8.             c.append(b[i]+b[i+1])
  9.         c.append(1)
  10.         b=c
  11.         yield b

  12. n=0
  13. for i in triangles():
  14.        print(i)
  15.        n+=1
  16.        if n==10:
  17.             break
复制代码

  1. [1, 1]
  2. [1, 2, 1]
  3. [1, 3, 3, 1]
  4. [1, 4, 6, 4, 1]
  5. [1, 5, 10, 10, 5, 1]
  6. [1, 6, 15, 20, 15, 6, 1]
  7. [1, 7, 21, 35, 35, 21, 7, 1]
  8. [1, 8, 28, 56, 70, 56, 28, 8, 1]
  9. [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
  10. [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-25 02:06:48 | 显示全部楼层
这段代码问题和毛病很多,也看不出你想要做什么。可以先说一下你想要实现怎样的目的和效果么?或者为了完成某个题目?那题目呢?单看代码很多错误,无法帮到你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-25 10:42:13 | 显示全部楼层
雪山凌狐 发表于 2017-3-25 02:06
这段代码问题和毛病很多,也看不出你想要做什么。可以先说一下你想要实现怎样的目的和效果么?或者为了完成 ...


将杨辉三角每行以列表的方式打印,从第二行开始输出:
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
[1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]
一共输出10行列表
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-25 12:15:42 | 显示全部楼层    本楼为最佳答案   
把b=c.append(1)改一下就行了。
  1. def triangles():
  2.     b=[1]
  3.    
  4.    
  5.     while True:
  6.         c=[1]
  7.         for i in range(len(b)-1):
  8.             c.append(b[i]+b[i+1])
  9.         c.append(1)
  10.         b=c
  11.         yield b

  12. n=0
  13. for i in triangles():
  14.        print(i)
  15.        n+=1
  16.        if n==10:
  17.             break
复制代码

  1. [1, 1]
  2. [1, 2, 1]
  3. [1, 3, 3, 1]
  4. [1, 4, 6, 4, 1]
  5. [1, 5, 10, 10, 5, 1]
  6. [1, 6, 15, 20, 15, 6, 1]
  7. [1, 7, 21, 35, 35, 21, 7, 1]
  8. [1, 8, 28, 56, 70, 56, 28, 8, 1]
  9. [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
  10. [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-3-25 20:18:10 | 显示全部楼层
冬雪雪冬 发表于 2017-3-25 12:15
把b=c.append(1)改一下就行了。

楼上正解,顺便学习了~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-26 11:47:05 | 显示全部楼层
雪山凌狐 发表于 2017-3-25 20:18
楼上正解,顺便学习了~


请问你所说的‘’问题和毛病很多‘’具体是哪些地方呢?也就改了一行代码就行了啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-27 11:52:13 | 显示全部楼层
whp374 发表于 2017-3-26 11:47
请问你所说的‘’问题和毛病很多‘’具体是哪些地方呢?也就改了一行代码就行了啊

看楼上的正解答案,你需要告知你要做什么才能帮到你的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-27 12:36:10 | 显示全部楼层
雪山凌狐 发表于 2017-3-27 11:52
看楼上的正解答案,你需要告知你要做什么才能帮到你的。

那在了解清楚情况之前就别信口开河啊,容易误导人,明明就一点小错误,被你说成问题和毛病很多,也是醉了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 04:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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