您正在打印调用的返回值sys.stdout.write()
:
print "What are his odds of hitting?", ( 25.0 / 10.0 ) * 8 + 65, sys.stdout.write('%')
该函数返回None
. 该函数还写入相同的文件描述符print
,因此您首先写入%
标准输出,然后要求print
写入更多文本以stdout
包含返回值None
。
您可能只是想%
在最后添加没有空格。使用字符串连接或格式化:
print "What are his odds of hitting?", str(( 25.0 / 10.0 ) * 8 + 65) + '%'
或者
print "What are his odds of hitting? %.02f%%" % (( 25.0 / 10.0 ) * 8 + 65)
或者
print "What are his odds of hitting? {:.02f}%".format((25.0 / 10.0 ) * 8 + 65)
两种字符串格式变体将浮点值格式化为小数点后两位小数。请参阅字符串格式化操作(对于'..' % ...
变体,旧样式字符串格式化)或格式化字符串语法(对于str.format()
方法,语言的新添加)