如何将浮子划分为等级



我是编程新手,遇到了一些问题。

我有一个字典包含姓名和成绩。问题是"创建一个函数,该函数将以浮点数形式输入等级,并输出一个表示等级分类的字符串。"如。& lt;40分是"不及格"40.0 - 50.0为及格50.0 - 60.0是"2:2"60.0-70.0是2:170.0是" First "

创建一个字典推导式,它将对每个值应用grade_to_classification。提示:{k: v…将值v存储在键k处,我们希望将grade_to_classification的返回值存储在该等级上(即在本例中为grade_to_classification(v))

这是我写的代码,但它给我{}作为答案。

student_records : {'Ada': 98.0, 'Bill': 45.0, 'Charlie': 63.2, 'Teri': 35.0, 'Johanna': 52.5, 'Tomas': 37.8, 'Piotr': 65.0, 'Grzegorz': 64.8}
name = student_records.keys()
grade = student_records.values()
def grade_to_classification(grade):
if grade < 40.0: return "Fail"
elif grade >40.0 and v <50.0: return "Pass"
elif grade >50.0 and v <60.0: return "2.2"
elif grade >60.0 and v <70.0: return "2.1"
elif grade >70.0: return "First"
classified_student_records = {k:grade_to_classification(v) for k, v in student_records.items() if v== float}
print(classified_student_records)

我做错了什么?

v == float将始终为false。我认为你想要的是isinstance(v, float)——尽管这是不必要的,因为你已经知道所有的值都是浮点数。

您的代码即将工作。这里有两个问题。首先,完全去除if v == float,这是不必要的。

一旦你修复了,你会注意到一个关于无法识别的符号的错误(特别是,一个NameError),看到这似乎是家庭作业,我将让你先尝试一下,看看你是否能解决它。

提示:当引用不存在的内容时,会发生此错误。

最新更新