飞花落尽 发表于 2021-7-18 22:48:26

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

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, end='\t')
    print()

wp231957 发表于 2021-7-19 09:39:33

一样,有啥不能换的,我从不用tab

飞花落尽 发表于 2021-7-19 09:41:36

wp231957 发表于 2021-7-19 09:39
一样,有啥不能换的,我从不用tab

不行啊,你运行一下

飞花落尽 发表于 2021-7-19 09:42:31

wp231957 发表于 2021-7-19 09:39
一样,有啥不能换的,我从不用tab

而且他给了注释# 为何要使用TAB而非空格,大家可以将下面的end='\t'改成对应的空格数即可知晓

wp231957 发表于 2021-7-19 09:44:55

飞花落尽 发表于 2021-7-19 09:41
不行啊,你运行一下

这代码??目测无法运行吧

飞花落尽 发表于 2021-7-19 09:47:02

wp231957 发表于 2021-7-19 09:44
这代码??目测无法运行吧

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

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, end='')
    print()

飞花落尽 发表于 2021-7-19 09:47:42

wp231957 发表于 2021-7-19 09:44
这代码??目测无法运行吧

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

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, end='')
    print()

飞花落尽 发表于 2021-7-19 09:48:25

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

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, end='\t')
    print()

飞花落尽 发表于 2021-7-19 09:49:26

wp231957 发表于 2021-7-19 09:44
这代码??目测无法运行吧

前面回复的倒数第二行end那忘改成\t了

wp231957 发表于 2021-7-19 10:04:31

飞花落尽 发表于 2021-7-19 09:49
前面回复的倒数第二行end那忘改成\t了

matrix = *10
for i in range(10):
    matrix = *10
    matrix = 1   
for i in range(1,10):
    for j in range(i):
      matrix = 1
      matrix = 1
      matrix = matrix + matrix

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

这东西知道咋回事就行了   实际上谁学python就是为了输出两个三角形

tyh1995 发表于 2021-7-19 10:07:43

改是能改 不过改了三角形的形状就变了空格、TAB、\t的缩进都是不一样的   你试试就知道了

wp231957 发表于 2021-7-19 10:08:27

飞花落尽 发表于 2021-7-19 09:49
前面回复的倒数第二行end那忘改成\t了

matrix = *10
for i in range(10):
    matrix = *10
    matrix = 1   
for i in range(1,10):
    for j in range(i):
      matrix = 1
      matrix = 1
      matrix = matrix + matrix

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

这样就基本上和原图 没啥太大的区别了
页: [1]
查看完整版本: 课后作业24,为什么这个红色地方的4个空格不能换成\t?