鱼C论坛

 找回密码
 立即注册
查看: 2247|回复: 3

[已解决]Python P24 杨辉三角的“三角形”输出问题

[复制链接]
发表于 2022-8-10 18:09:14 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ytongxue 于 2022-8-10 18:13 编辑
triangle = []
for i in range(10):
    triangle.append([])
    for j in range(10):
        triangle[i].append(0)
   
for i in range(10):
    triangle[i][0] = 1
    triangle[i][i] = 1
   
for i in range(2, 10):
    for j in range(1, i):
        triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]

for i in range(10):
    for k in range((10-i)//2):
        print('\t', end='')
    # 此处第一条内循环为添加空格
    # 当变量i=0时,k在range(5)中迭代,打印出\t只有5个,为什么结果中输出杨辉三角第一行前面会有多个\t

    for j in range(i+1):
        if i % 2 == 1:
            print("    ", end='')
        print(triangle[i][j], end='\t')
    print()
最佳答案
2022-8-11 10:31:27
本帖最后由 Py与C。。。 于 2022-8-11 10:34 编辑
ytongxue 发表于 2022-8-11 10:13
明白了。

是我想岔了。


\t到底跳过几个长度是没有规定的,也是没有标准的,每个设备都有自己的标准,比如你打开notepad,会发现他是8个长度,实际上是一个字符,并不等同于几个空格
idle里也有对tab长度的自由调整。
但是Python默认输出为4个长度,tab和空格并不能互换的,只是看起来是那般
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-10 18:27:05 | 显示全部楼层
本帖最后由 一点点儿 于 2022-8-10 18:42 编辑

我这里运行结果输出杨辉三角第一行是5个\t
IDLE中交互符 >>> 是要占位的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-11 10:13:57 | 显示全部楼层
一点点儿 发表于 2022-8-10 18:27
我这里运行结果输出杨辉三角第一行是5个\t
IDLE中交互符 >>> 是要占位的

明白了。

是我想岔了。

确实是5个\t。

问题出在我对比第一和第二次循环:
for i in range(10):
    for k in range((10-i)//2):
        print('\t',end='')
    for j in range(i+1):
        if i % 2 == 1:
    # 第一次循环 i = 0,第一行前面为5个'\t'
    # 第二次循环 i = 1,第二行前面为4个'\t' + '    '
    # 我理解的第二行4个'\t' + '    ',刚好就是5个'\t',输出应该跟第一行并排,结果没有并排说明第一行输出的不是5个'\t'
            print("    ", end='')
        print(triangle[i][j], end='\t')
    print()

所以问题应该是: '\t'不是四个空格,或者说'\t'长度上并不等于四个空格?!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-11 10:31:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Py与C。。。 于 2022-8-11 10:34 编辑
ytongxue 发表于 2022-8-11 10:13
明白了。

是我想岔了。


\t到底跳过几个长度是没有规定的,也是没有标准的,每个设备都有自己的标准,比如你打开notepad,会发现他是8个长度,实际上是一个字符,并不等同于几个空格
idle里也有对tab长度的自由调整。
但是Python默认输出为4个长度,tab和空格并不能互换的,只是看起来是那般
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 04:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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