|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
0.end = '\t'是什么意思?
1.为什么不能用end='对应的空格'替换end = '\t'?请各位前辈帮忙
# 初始化杨辉三角形
# 创建一个10*10的二维列表,并将所有的元素初始化为0
triangle = []
for i in range(10):
triangle.append([])
for j in range(10):
triangle[i].append(0)
# 计算杨辉三角形
# 根据观察,我们知道杨辉三角形左右两边的元素均为1
for i in range(10):
triangle[i][0] = 1
triangle[i][i] = 1
# 第i行j列的值 = 第(i-1)行(j-1)列的值 + 第(i-1)行(j)列的值
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):
# 因为是三角形,所以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()
本帖最后由 isdkz 于 2022-3-4 21:51 编辑
实在不好意思,我刚刚才看到你的回复。
第一个问题:终端(terminal)是命令行窗口(cmd),终端通常是Linux系统的说法。
就是那个运行命令的窗口
第二个问题:水平制表符就是一个tab键输出的符号,用来对文本做间隔的,
有间隔的格式是表,所以称它为制表符,\t 中的 t 就是 tab 的意思
第三个问题:制表符虽然是默认4个空格(在python中可以修改\t的宽度)的宽度,
但它不等同于 4 个空格,4 个空格是 4 个字符,而 \t 键是 1 个字符,
因为 \t 是一个字符,所以当终端的剩余宽度不够 4 个(空格的宽度)时,
它会 4 个(空格的宽度)都在第二行输出,
而 空格 是一个字符,当终端的剩余宽度不够 4 个(空格的宽度)时,
比如 这一行只剩下 3个(空格的宽度),它会在这一行输出3个空格,
剩下的那个会在第二行输出, \t 哪怕还能输出 3 个空格的宽度,它也不会拆开,
而是整体(4 个空格的宽度)在第二行输出,
制表符还可以自动调整间隔,它总能保证两行之间的列是对齐的,
而空格不懂变通,它总要输出四个空格
你执行这个代码就明白了:# 使用 \t 制表符
print("使用制表符")
print('fdfdf\tfdfdf')
print('f\tfdfdfdf')
print('fdfer\tfvdgd')
print('fdfdfdf\tfdfdf')
print('-' * 50)
# 使用 4 个空格替代制表符
print("使用4个空格替代制表符")
print('fdfdf fdfdf')
print('f fdfdfdf')
print('fdfer fvdgd')
print('fdfdfdf fdfdf')
执行结果:
|
|