Python3中意外的打印输出
我正在做一个Python3教程,并试图找出这些括号在我的输出中的来源Python3中意外的打印输出,python,python-3.x,Python,Python 3.x,我正在做一个Python3教程,并试图找出这些括号在我的输出中的来源 students = int (input()) total = dict() for i in range(0,students): tokens = input().split() name = tokens[0] total[name] = float(tokens[1]) + float(tokens[2]) + float(tokens[3]) student = input(()) print ("{
students = int (input())
total = dict()
for i in range(0,students):
tokens = input().split()
name = tokens[0]
total[name] = float(tokens[1]) + float(tokens[2]) + float(tokens[3])
student = input(())
print ("{0:.2f}".format(total[student] / 3))
预期产量
56.00
我的输出
()56.00
替换此项:
student = input(())
与:
事情就是这样:
>>> student = input(())
()
替换此项:
student = input(())
与:
事情就是这样:
>>> student = input(())
()
在student=input(())
中,将一个空元组作为提示参数传递给input
函数。通常情况下,您会传递一个提示字符串input
,但是input
(以及Python 2中的raw\u input
)将愉快地接受任何对象作为提示并将其转换为字符串,就像print
所做的那样。如果未提供提示,则不会打印任何提示。(我怀疑input
只是将提示传递给print
)
因此,您意想不到的()
就是转换为字符串的空元组。在student=input(())
中,您正在将一个空元组作为提示参数传递给input
函数。通常情况下,您会传递一个提示字符串input
,但是input
(以及Python 2中的raw\u input
)将愉快地接受任何对象作为提示并将其转换为字符串,就像print
所做的那样。如果未提供提示,则不会打印任何提示。(我怀疑input
只是将提示传递给print
)
所以你意想不到的()
就是那个空元组,转换成字符串