Python 运行sys.stdout.write()时,在我要打印的内容之后不会打印任何内容

Python 运行sys.stdout.write()时,在我要打印的内容之后不会打印任何内容,python,python-2.7,Python,Python 2.7,我正在编写一个非常简单的代码,它从stdin获取输入并将输出打印到stdout 输入: 4 3 输出(我得到): 预期产出: 1 1.333 你能帮我吗。提前谢谢 代码如下: from __future__ import division import sys data = sys.stdin.readlines() buffer = [] for d in data: buffer.append(d) a = buffer[0] b

我正在编写一个非常简单的代码,它从stdin获取输入并将输出打印到stdout

输入:

4    
3 
输出(我得到):

预期产出:

1    
1.333
你能帮我吗。提前谢谢 代码如下:

from __future__ import division
import sys

data = sys.stdin.readlines()

buffer = []

for d in data:    
       buffer.append(d)

a = buffer[0]    
b = buffer[1]    
p1 = (int(a)//int(b))    
q1 = (int(a)/int(b))    
m = str(p1)    
n = str(q1)  
print sys.stdout.write(m)    
sys.stdout.flush()    
print sys.stdout.write(n)

打印系统标准输出写入(n)
。挑一个或另一个


print
正在打印
sys.stdout.write(n)
的返回值,它是
None

print n
sys.stdout.write(n)
。前者是首选,尤其是因为
write
不会自动追加换行符。(另外,
print
不要求先将
p1
q1
显式转换为
str
对象。)非常感谢,@Morgan和Chepner。它是如此基本,我应该看到它。我现在得到了正确的答案。@Amol很高兴我能提供帮助。如果下面的答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道你的问题已经解决到令你满意的程度,并让帮助你的人相信你的帮助。我需要一个完整的解释。
from __future__ import division
import sys

data = sys.stdin.readlines()

buffer = []

for d in data:    
       buffer.append(d)

a = buffer[0]    
b = buffer[1]    
p1 = (int(a)//int(b))    
q1 = (int(a)/int(b))    
m = str(p1)    
n = str(q1)  
print sys.stdout.write(m)    
sys.stdout.flush()    
print sys.stdout.write(n)