鱼C论坛

 找回密码
 立即注册
查看: 2985|回复: 8

[已解决]新人 关于课堂练习的问题

[复制链接]
发表于 2021-4-15 11:11:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
关于第四课 练一练2的一个问题 为什么加上一条print(' ')就能换行(如图一),而不加就不会换行(如图二),而图二上面的几行是我进行测试得到的,print()中间只要有东西就可以换行,这是为什么?有没有大佬给新手解答一下
最佳答案
2021-4-15 11:20:16
查阅帮助文档,IDLE中输入help(print)就可以
>>> help(print)
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.

sep=' '      --->表示print()函数中如果有多个参数默认以1个空格间隔
end='\n'   --->表示print()函数默认以换行符结尾

所以。。。试试
print(1,2,3)   --->打印的是1 2 3加换行,而不是123

print(1,2,3,end='')
print(4,5,6,sep='')
--->打印的是1 2 3456

图一

图一

图二

图二
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-15 11:20:16 | 显示全部楼层    本楼为最佳答案   
查阅帮助文档,IDLE中输入help(print)就可以
>>> help(print)
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.

sep=' '      --->表示print()函数中如果有多个参数默认以1个空格间隔
end='\n'   --->表示print()函数默认以换行符结尾

所以。。。试试
print(1,2,3)   --->打印的是1 2 3加换行,而不是123

print(1,2,3,end='')
print(4,5,6,sep='')
--->打印的是1 2 3456
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-15 11:30:23 | 显示全部楼层
笨鸟学飞 发表于 2021-4-15 11:20
查阅帮助文档,IDLE中输入help(print)就可以

感谢回复 sep = ' '和end = ' '有什么区别,我刚刚试了 好像都一样 顺便问一下 怎么在回复中附上代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-15 11:33:08 | 显示全部楼层
笨鸟学飞 发表于 2021-4-15 11:20
查阅帮助文档,IDLE中输入help(print)就可以

我刚刚百度了 sep和end搞懂了 也查到了print有默认换行的功能 现在的问题还是 为什么中间的两个i j循环中没有换行 要到外面的那个循环中用print来换行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-15 14:18:22 | 显示全部楼层
本帖最后由 肖-肖 于 2021-4-15 15:09 编辑
yifan1311 发表于 2021-4-15 11:33
我刚刚百度了 sep和end搞懂了 也查到了print有默认换行的功能 现在的问题还是 为什么中间的两个i j循环中 ...

~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-15 14:43:51 | 显示全部楼层
肖-肖 发表于 2021-4-15 14:18
因为要实现:外层循环一次,而内存循环要循环整遍之后换行的效果,所以要到外面的那个循环来print换行
希 ...

不太懂 是不是就是说 外层循环中 要内层循环换行的话 还得用外层循环中的print才可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-15 14:50:26 | 显示全部楼层
你的目标就是要实现一行*  一行*  的打印效果,所以是一行*  打印完了再换行,打印下一行的* 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-15 15:06:48 | 显示全部楼层
本帖最后由 肖-肖 于 2021-4-15 15:09 编辑
yifan1311 发表于 2021-4-15 14:43
不太懂 是不是就是说 外层循环中 要内层循环换行的话 还得用外层循环中的print才可以


~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-16 09:44:30 | 显示全部楼层
print(1,0,0,8,6)                            # 打印1空格0空格0空格8空格6换行
print(1,2,3,sep='*',end='---')         # 打印1*2*3---    ## 不换行
print(4,5,6,sep='')                        # 打印456  ##换行
print(7,8,9,end='---')                    # 打印7空格8空格9--- ##不换行
print('结束')

这样不知道你能不能理解。sep是打印的参数的间隔,end是结尾
默认的sep=空格,默认的end=换行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 02:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表