我在输出结果的末尾使用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是正确的答案。
要打印预期结果,下面的代码行就足够了:
sys.stdout.write('largest: %s' %largest)
而下面的代码行也显示了长时间写入的字符数,并具有所需的结果
print(sys.stdout.write('largest: %s' %largest))
感谢@jasonharper!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句