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 ("{

我正在做一个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 ("{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

所以你意想不到的
()
就是那个空元组,转换成字符串