python中print语句问题

for row in range(1,10):

for col in range(1,10):
    prod=row*col
    if prod<10:
        print(' ',end='')
    print(row*col,' ',end='')
print()

如果不加if prod<10:
        print(' ',end='')
显示效果不好,但是加的这两行代码什么意思呢? end作用时啥?
阅读 4.4k
2 个回答
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

end参数默认是换行符,上面两行代码的作用是打印小于10的数字多打印一个空格,保证格式整齐。

防止换行,因为默认print会结束一行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题