我使用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,我得到print为3,而stdout()为310。 3是正确的答案。
答案 0 :(得分:0)
要打印预期的结果,下面的代码行就足够了:
sys.stdout.write('largest: %s' %largest)
而下面的代码行还显示了以理想结果长时间写入的字符数
print(sys.stdout.write('largest: %s' %largest))
感谢@jasonharper!