Gigi233 发表于 2023-10-5 14:19:52

为什么空行这么奇怪

for i in range(1,10):
    for j in range(1,10):
      f=i*j
      if i>=j:
          print(i,'*',j,'=',f,end=' ')
      else:
            print()

isdkz 发表于 2023-10-5 14:20:01

在这段代码中,当i<j时, print()函数会被调用,这里的print()函数没有传入任何参数,因此默认输出一个空行。当i>=j时, print()函数会输出表达式i*j的值,因此没有空行的输出。这就是为什么空行看起来会有些奇怪的原因。

陶远航 发表于 2023-10-5 14:20:24

您好!您提到的空行看起来可能是因为代码格式问题。在 Python 代码中,缩进和空行对于代码的可读性和结构非常重要。根据您提供的代码,我将其格式化为更易读的形式:

for i in range(1, 10):
    for j in range(1, 10):
      f = i * j
      if i >= j:
            print(i, '*', j, '=', f, end=' ')
      else:
            print()


这段代码的目的是打印出乘法口诀表。在这个例子中,外层循环 i 从 1 到 9,内层循环 j 也从 1 到 9。然后计算 i * j 的结果,并将其赋值给变量 f。接下来,如果 i >= j,则打印出乘法表达式和结果。否则,打印一个空行。

这里的空行是为了在每次内层循环结束时换行,使得输出结果更加整齐。如果您觉得空行看起来奇怪,可以尝试使用 `print('\
') 替换 print()`,这样可以更明确地表示换行。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案

陶远航 发表于 2023-10-5 14:21:32

正确代码:

for i in range(1,10):
    for j in range(1,10):
      f=i*j
      if i>=j:
          print(i,'*',j,'=',f,end=' ')
      else:
            pass
    print()

360341024 发表于 2023-10-5 16:12:04

去掉第一层循环代码,当i=1的时候,就是运行下面的循环,你运行一遍应该就懂哪里出问题了
for j in range(1,10):
      f=1*j
      if 1>=j:
          print(xxxxxx)
      else:
            print()
页: [1]
查看完整版本: 为什么空行这么奇怪