鱼C论坛

 找回密码
 立即注册
查看: 1384|回复: 11

课后作业24,为什么这个红色地方的4个空格不能换成\t?

[复制链接]
发表于 2021-7-18 22:48:26 | 显示全部楼层 |阅读模式

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

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

x
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[i][j], end='\t')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-19 09:39:33 From FishC Mobile | 显示全部楼层
一样,有啥不能换的,我从不用tab
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-19 09:41:36 | 显示全部楼层
wp231957 发表于 2021-7-19 09:39
一样,有啥不能换的,我从不用tab

不行啊,你运行一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-19 09:42:31 | 显示全部楼层
wp231957 发表于 2021-7-19 09:39
一样,有啥不能换的,我从不用tab

而且他给了注释# 为何要使用TAB而非空格,大家可以将下面的end='\t'改成对应的空格数即可知晓
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-19 09:44:55 From FishC Mobile | 显示全部楼层
飞花落尽 发表于 2021-7-19 09:41
不行啊,你运行一下

这代码??目测无法运行吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-19 09:47:02 | 显示全部楼层
wp231957 发表于 2021-7-19 09:44
这代码??目测无法运行吧

哦,不好意思,应该是这个
matrix = [0]*10
for i in range(10):
    matrix[i] = [0]*10
    matrix[0][0] = 1   
for i in range(1,10):
    for j in range(i):
        matrix[i][0] = 1
        matrix[i][i] = 1
        matrix[i][j] = matrix[i-1][j-1] + matrix[i-1][j]

for i in range(10):
    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(matrix[i][j], end='')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-19 09:47:42 | 显示全部楼层
wp231957 发表于 2021-7-19 09:44
这代码??目测无法运行吧

这个
matrix = [0]*10
for i in range(10):
    matrix[i] = [0]*10
    matrix[0][0] = 1   
for i in range(1,10):
    for j in range(i):
        matrix[i][0] = 1
        matrix[i][i] = 1
        matrix[i][j] = matrix[i-1][j-1] + matrix[i-1][j]

for i in range(10):
    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(matrix[i][j], end='')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-19 09:48:25 | 显示全部楼层
这个
matrix = [0]*10
for i in range(10):
    matrix[i] = [0]*10
    matrix[0][0] = 1   
for i in range(1,10):
    for j in range(i):
        matrix[i][0] = 1
        matrix[i][i] = 1
        matrix[i][j] = matrix[i-1][j-1] + matrix[i-1][j]

for i in range(10):
    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(matrix[i][j], end='\t')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-19 09:49:26 | 显示全部楼层
wp231957 发表于 2021-7-19 09:44
这代码??目测无法运行吧

前面回复的倒数第二行end那忘改成\t了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-19 10:04:31 | 显示全部楼层
飞花落尽 发表于 2021-7-19 09:49
前面回复的倒数第二行end那忘改成\t了
matrix = [0]*10
for i in range(10):
    matrix[i] = [0]*10
    matrix[0][0] = 1   
for i in range(1,10):
    for j in range(i):
        matrix[i][0] = 1
        matrix[i][i] = 1
        matrix[i][j] = matrix[i-1][j-1] + matrix[i-1][j]

for i in range(10):
    print('  '*(20-i),end='')
    for j in range(i+1):
        print(matrix[i][j], end=' '*3)
    print()

这东西知道咋回事就行了   实际上  谁学python就是为了输出两个三角形
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-19 10:07:43 | 显示全部楼层
改是能改 不过改了三角形的形状就变了  空格、TAB、\t的缩进都是不一样的   你试试就知道了  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-19 10:08:27 | 显示全部楼层
飞花落尽 发表于 2021-7-19 09:49
前面回复的倒数第二行end那忘改成\t了
matrix = [0]*10
for i in range(10):
    matrix[i] = [0]*10
    matrix[0][0] = 1   
for i in range(1,10):
    for j in range(i):
        matrix[i][0] = 1
        matrix[i][i] = 1
        matrix[i][j] = matrix[i-1][j-1] + matrix[i-1][j]

for i in range(10):
    print('   '*(20-i),end='')
    for j in range(i+1):
        print("%2d"%matrix[i][j], end=' '*4)
    print()

这样就基本上和原图 没啥太大的区别了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-8 22:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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