代码不起作用:python打印错误

时间:2018-07-18 22:16:40

标签: python

问题: 您有N个学生的记录。每条记录都包含学生的姓名,以及他们在数学,物理和化学领域的分数。标记可以是浮点值。用户输入一些整数N,后跟学生的姓名和N标记。您需要将记录保存为字典数据类型。然后,用户输入学生的姓名。输出该学生获得的平均百分比分数,校正到小数点后两位。

我的代码:

if __name__ == '__main__':
n = int(raw_input())
student_marks = {}
for _ in range(n):
    line = raw_input().split()
    name, scores = line[0], line[1:]
    scores = map(float, scores)
    student_marks[name] = scores
query_name = raw_input()
query_name= str(query_name)
query_scores = student_marks[query_name]
print ("(0%.2f)".format(len(query_scores)/len(query_name)))

错误的输出即时消息: (0%.2f)

3 个答案:

答案 0 :(得分:1)

您正在组合两种不同的格式化方式:%和<script> var data = [ ["POP", "GEONAME", "state"], ["4863300", "Alabama", "01"], ["741894", "Alaska", "02"], ["6931071", "Arizona", "04"], ["2988248", "Arkansas", "05"], ["39250017", "California", "06"] ] </script>。将最后一行更改为

.format()

或者:

print ("%.2f" % (len(query_scores)/len(query_name)))

有关更多信息,请参见https://pyformat.info/

答案 1 :(得分:0)

Python的格式化方法已更改(请参见link)。尝试新样式:

ReportViewer1.LocalReport.SetParameters(param); ReportViewer1.Visible = true; ReportViewer1.LocalReport.Refresh(); MyPanel.Visible = true;

答案 2 :(得分:-1)

让我们假设

  

93/47

     

输出1.9787234042553192

使用格式化输出直到两位小数都可以使用

eval('{:.2f}'.format(93/47))
  

输出为1.98