python - end =' ' 究竟是做什么的?

标签 python python-3.x

所以,我正在努力理解这个简单的练习

def a(n):
    for i in range(n):
        for j in range(n):
            if i == 0 or i == n-1 or j == 0 or j == n-1:
                print('*',end='')
            else:
                print(' ',end='')
        print()

打印一个空方 block 。我想我可以使用代码

            print("*", ''*(n-2),"*")

打印正方形上边和下边之间的单位,但它们不会与上边/下边对齐,如果您运行第一个代码就不会发生这种情况……所以…… . 这可能是因为 end=''print()(您能告诉我它们是什么意思吗?)?

最佳答案

检查 reference page of print .默认情况下,有一个换行符附加到正在打印的项目 (end='\n'),end='' 用于使其打印在相同的行。

并且 print() 打印一个空的换行符,这是在下一行继续打印所必需的。

已编辑:添加了一个示例。
其实你也可以使用这个:

def a(n):
    print('*' * n)
    for i in range(n - 2):
        print('*' + ' ' * (n - 2) + '*')
    if n > 1:
        print('*' * n) 

关于python - end =' ' 究竟是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20372485/

相关文章:

python - Django 模板上的 Unicode 字符串显示

python - 网络抓取返回无列表

python - PySide2 无法通过基本示例正确关闭

python - 主要问题: Dropdown switcher in Mezzanine uses default settings of main site when logged in

Python3时间戳到unix时间(有时是毫秒)

java - 使用 java.lang.Runtime.getRuntime 在 matlab 中调用多个 python 脚本实例不起作用

python - 查看 PDF 的问题

python - 如何在python中将视频转换为时空卷

python-3.x - 如何在它们之间添加小时和分钟

python - 无法在 AWS elastic-beanstalk 上提供 Django 静态文件