【发布时间】:2019-05-07 13:01:10
【问题描述】:
我在 sys.stdout(name) 的输出结果末尾得到了一些随机数,而不是只得到所需的结果。我做错了什么?
代码:
import sys
print('enter first number: ')
no1 = int(sys.stdin.readline())
print('enter second number: ')
no2 = int(sys.stdin.readline())
print('enter third number: ')
no3 = int(sys.stdin.readline())
if (no1 > no2) and (no1 > no3):
largest = no1
elif (no2 > no1) and (no2 > no3):
largest = no2
else:
largest = no3
print('largest: ', largest) #this gives right result
print(sys.stdout.write('largest: %s' %largest)) #this gives some random int with result at the end
这样的代码是查找 3 个数字中最大的一个,所以如果我们输入 first=1,second=2,third=3,我会得到 3 打印但 310 使用 stdout()。 3 是正确的答案。
【问题讨论】:
-
出于某种奇怪的原因,您正在打印出
sys.stdout.write()的返回值——这是写入的字符数。所以你会从写入中得到3,然后是从打印中得到10。 -
感谢@jasonharper,它实际上帮助了我。 ??????
标签: python-3.x