我已经发出了我的代码一直在说KeyError:0的地方,我已经搜遍了所有地方并且无法找到解决此问题的方法
student_scores = {'0':65.0, '1':54.7}
average_score = 66.0
i = 0
for v in student_scores:
if student_scores[i] >= average_score:
above_avg_check = "{} {}".format(student_names[i], student_scores[i])
above_avg.append(above_avg_check)
print(above_avg_check)
i += 1
我不知道该怎么做。但我是一个计数器,student_scores的关键是我可以在while循环中使用它
答案 0 :(得分:1)
您的0索引实际上是一个字符串时,您正在检查整数索引。
此代码在repl上为我编译,只是在尝试查找它们之前将索引值转换为字符串
student_scores = {'0':65.0, '1':54.7}
average_score = 66.0
i = 0
for v in student_scores:
if student_scores[str(i)] >= average_score:
above_avg_check = "{} {}".format(student_names[str(i)], student_scores[str(i)])
above_avg.append(above_avg_check)
print(above_avg_check)
i += 1
答案 1 :(得分:0)
您可以使用.items()方法并以更简单的方式获取分数。您可以根据学生及其在for循环中的分数来设置字符串的格式。
0: 65.0
这是你的输出:
df['day_charge'] = df['day_charge'].fillna(df['day_mins'] * 0.17)
当您遍历每个键及其相应的值时,这将为您提供所需的输出。