鱼C论坛

 找回密码
 立即注册
查看: 1023|回复: 4

print与sys.stdout.write的区别

[复制链接]
发表于 2018-4-24 16:19:31 | 显示全部楼层 |阅读模式

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

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

x
小甲鱼老师能否解答下print与sys.stdout.write的区别

最近看while循环看到一个笔记:

十进制转二进制

#!/usr/bin/python
# -*- coding: UTF-8 -*-

denum = input("输入十进制数:")
print denum,"(10)",
binnum = []
# 二进制数
while denum > 0:
    binnum.append(str(denum % 2)) # 栈压入
    denum //= 2
print '= ',
while len(binnum)>0:
    import sys
    sys.stdout.write(binnum.pop()) # 无空格输出print ' (2)'

结尾处 如果使用print 那么答案就会自动换行,但是这个就不会。想问下为什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-24 16:22:27 | 显示全部楼层
hi 因为print函数的默认分隔符是 回车换行符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-24 16:25:34 | 显示全部楼层
thexiosi 发表于 2018-4-24 16:22
hi 因为print函数的默认分隔符是 回车换行符

可是为啥会出现回车 我也比较迷茫呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-24 16:56:48 | 显示全部楼层
举个栗子,希望我没理解错

>>> for i in range(3):
        print(i)

       
0
1
2
>>> for i in range(3):
        print(i,end=' ')

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

使用道具 举报

发表于 2018-4-24 21:21:37 | 显示全部楼层
>>> for i in range(3):\
... sys.stdout.write('hi')
...
hi2
hi2
hi2
>>> for i in range(3):\
... sys.stdout.write('hi\n')
...
hi
3
hi
3
hi
3
>>> for i in range(3):\
... print('hi')
...
hi
hi
hi
>>> for i in range(3):\
... print('hi\n')
...
hi

hi

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 20:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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