问:您有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)
发布于 2018-07-19 06:25:23
您组合了两种不同的格式化方式:%和.format()
。将最后一行更改为
print ("%.2f" % (len(query_scores)/len(query_name)))
或者:
print ("{:.2f}".format(len(query_scores)/len(query_name)))
有关详细信息,请参阅https://pyformat.info/。
发布于 2018-07-19 06:28:57
Python的格式化方法已更改(请参阅link)。尝试新的风格:
print ("({:0.2f})".format(len(query_scores)/len(query_name)))
https://stackoverflow.com/questions/51411747
复制相似问题