arksong1 发表于 2025-8-15 19:34:05

请大佬解惑

for i in range(1,10):
    for j in range(1,i+1):
      print(i," * ",j," = ",i * j,end = " ")
    print("\n")
1 x 1 = 1

2 x 1 = 2 2 x 2 = 4

for i in range(1,10):
    for j in range(1,i+1):
      print(i," * ",j," = ",i * j)
    print("\n")
1*1=1


2*1=2
2*2=4

为什么加了end=,格式就变了呢???

FishC 发表于 2025-8-15 19:35:16

你观察到的现象是由 print() 函数的 end 参数控制的。解释如下:

1. end=" " 的作用:
- 默认情况下 print() 会在结尾添加换行符 \n
- 当设置 end=" " 时,每次打印后不再换行,而是用空格结尾
- 这会导致同一行的乘法表达式都打印在同一行,用空格分隔

2. 代码对比分析:

# 方案1:使用 end=" "
for i in range(1,3):
    for j in range(1,i+1):
      print(i,"*",j,"=",i*j, end=" ")# 不换行,用空格结尾
    print("\n")# 额外添加两个换行

# 输出效果:
# 1*1=1 \n\n
# 2*1=2 2*2=4 \n\n

# 方案2:默认换行
for i in range(1,3):
    for j in range(1,i+1):
      print(i,"*",j,"=",i*j)# 每次打印后自动换行
    print("\n")# 再添加两个换行

# 输出效果:
# 1*1=1\n
# \n
# 2*1=2\n
# 2*2=4\n
# \n


3. 推荐写法(标准九九乘法表格式):

for i in range(1,10):
    for j in range(1,i+1):
      print(f"{j}×{i}={i*j}", end="\t")# 用制表符对齐
    print()# 仅换行一次

输出效果:

1×1=1       
1×2=2        2×2=4       
1×3=3        2×3=6        3×3=9       
...(后续行类似)


关键记忆点:
- end=" " 取消自动换行,用指定字符连接后续输出
- 默认 print() 等效于 print(end="\n")
- 双重换行 print("\n") 会产生空行(因为字符串包含1个\n + 默认1个\n)

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

kebi 发表于 2025-8-15 20:16:25

99乘法表

某一个“天” 发表于 2025-8-15 21:07:04

1. end=" " 的作用:
- 默认情况下 print() 会在结尾添加换行符 \n
- 当设置 end=" " 时,每次打印后不再换行,而是用空格结尾
- 这会导致同一行的乘法表达式都打印在同一行,用空格分隔

jackz007 发表于 2025-8-16 00:21:04

本帖最后由 jackz007 于 2025-8-16 00:28 编辑

      先运行下面的代码看看结果
print(1 , 2 , 3)
print('A','B','C')
print(4 , 5 , 6)
print('*' * 80)
print(1 , 2 , 3 , end = ' ')
print('A','B','C' , end = ' ')
print(4 , 5 , 6)
print('+' * 80)
print(1 , 2 , 3 , end = '\n')
print('A','B','C', end = '\n')
print(4 , 5 , 6 , end = '\n')
      end = 是 print() 的命名可选参数,用来指定 print() 函数在完成指定内容的打印输出之后,需要最后附加打印输出的内容,不知道楼主注意到没有,print() 每次打印结束之后,都会自动回车换行,下一次再执行 print() 函数时,一定会从下一行的开头开始打印,这就是因为 end 参数的缺省值是end ='\n' 的缘故。在楼主的代码中,使用 end = 参数的目的,就是为了改变这个缺省值,以便多次 print() 的打印结果能按照各自的先后顺序连续出现在同一行上。
页: [1]
查看完整版本: 请大佬解惑