如何打印字典中分数大于 50 的学生姓名?
How can I print the names of students with scores larger than 50 from a dictionary?
objects = {
"ALI_ELDIYAB": "80.80",
"BILAL_HASSAN": "78",
"DANIA_RAHMANI": "71.20",
"DANIEL_AIGBE": "78",
"HAMD_ALFARES": "72",
"KHALED_AL_SHAIBANI": "74",
"LINA_ISSA": "70",
"LUMA_ABDELAZIZ": "78",
"MARIAM_BASHER": "44",
"MOHAMMED_BINDAGHER": "74.80",
"NADAY_ALHAMMALI": "77.60",
"NISRIIN_ABDI": "67.60",
"OMAR_HAFEZ": "66.80",
"OMAR_SLEIMAN": "83.20",
"OMAR_MOUSTAFA": "77.60",
"RAHAF_IBRAHIM": "68.80",
"RASIL_ALSAKKA": "82",
"SETYA_GHAHREMANI": "82",
"SHARMAAKE_HANDBO": "59.20",
"YAHYA_ABDELBAGI": "64",
"YOUSIF_KASHWAN": "76.40",}
我试过了,但没用
for i in objects:
if objects.values < '70':
print(i)
我认为这应该可以解决问题:
for name, value in objects.items():
score = float(value)
if score > 50.0:
print("{}'s score is pretty good".format(name))
首先想到的是,通过使用字典的 items()
方法,您可以迭代所有条目的键和值。
其次,您必须将分数转换为可比较的类型,如整数或浮点数(在这种情况下,浮点数似乎更适合)以进行比较。
一些参考:https://docs.python.org/3/tutorial/datastructures.html#looping-techniques
您在这里遇到的一个问题是字典中的所有值都是字符串。请查看下面我的示例,了解您要查找的内容:
objects = {
"ALI_ELDIYAB":"80.80",
"BILAL_HASSAN":"78",
"DANIA_RAHMANI":"71.20",
"DANIEL_AIGBE":"78",
"HAMD_ALFARES":"72",
"KHALED_AL_SHAIBANI":"74",
"LINA_ISSA":"70",
"LUMA_ABDELAZIZ":"78",
"MARIAM_BASHER":"44",
"MOHAMMED_BINDAGHER":"74.80",
"NADAY_ALHAMMALI":"77.60",
"NISRIIN_ABDI":"67.60",
"OMAR_HAFEZ":"66.80",
"OMAR_SLEIMAN":"83.20",
"OMAR_MOUSTAFA":"77.60",
"RAHAF_IBRAHIM":"68.80",
"RASIL_ALSAKKA":"82",
"SETYA_GHAHREMANI":"82",
"SHARMAAKE_HANDBO":"59.20",
"YAHYA_ABDELBAGI":"64",
"YOUSIF_KASHWAN":"76.40"
}
for i, ii in objects.items():
if float(ii) < 70:
print(i)
这样做是针对字典中的每个键和值,它会检查值(在类型 'float' 中)是否小于 70,然后打印。
您也可以尝试类似的方法:
for i in object.keys():
if float(object[i]) < 70:
print("{} has a score of {}".format(i, object[i]))
这会将分数转换为数字(特别是浮点数,因为那里有非整数),然后您可以检查每个分数是否满足您的条件。
objects = {
"ALI_ELDIYAB": "80.80",
"BILAL_HASSAN": "78",
"DANIA_RAHMANI": "71.20",
"DANIEL_AIGBE": "78",
"HAMD_ALFARES": "72",
"KHALED_AL_SHAIBANI": "74",
"LINA_ISSA": "70",
"LUMA_ABDELAZIZ": "78",
"MARIAM_BASHER": "44",
"MOHAMMED_BINDAGHER": "74.80",
"NADAY_ALHAMMALI": "77.60",
"NISRIIN_ABDI": "67.60",
"OMAR_HAFEZ": "66.80",
"OMAR_SLEIMAN": "83.20",
"OMAR_MOUSTAFA": "77.60",
"RAHAF_IBRAHIM": "68.80",
"RASIL_ALSAKKA": "82",
"SETYA_GHAHREMANI": "82",
"SHARMAAKE_HANDBO": "59.20",
"YAHYA_ABDELBAGI": "64",
"YOUSIF_KASHWAN": "76.40",}
我试过了,但没用
for i in objects:
if objects.values < '70':
print(i)
我认为这应该可以解决问题:
for name, value in objects.items():
score = float(value)
if score > 50.0:
print("{}'s score is pretty good".format(name))
首先想到的是,通过使用字典的 items()
方法,您可以迭代所有条目的键和值。
其次,您必须将分数转换为可比较的类型,如整数或浮点数(在这种情况下,浮点数似乎更适合)以进行比较。
一些参考:https://docs.python.org/3/tutorial/datastructures.html#looping-techniques
您在这里遇到的一个问题是字典中的所有值都是字符串。请查看下面我的示例,了解您要查找的内容:
objects = {
"ALI_ELDIYAB":"80.80",
"BILAL_HASSAN":"78",
"DANIA_RAHMANI":"71.20",
"DANIEL_AIGBE":"78",
"HAMD_ALFARES":"72",
"KHALED_AL_SHAIBANI":"74",
"LINA_ISSA":"70",
"LUMA_ABDELAZIZ":"78",
"MARIAM_BASHER":"44",
"MOHAMMED_BINDAGHER":"74.80",
"NADAY_ALHAMMALI":"77.60",
"NISRIIN_ABDI":"67.60",
"OMAR_HAFEZ":"66.80",
"OMAR_SLEIMAN":"83.20",
"OMAR_MOUSTAFA":"77.60",
"RAHAF_IBRAHIM":"68.80",
"RASIL_ALSAKKA":"82",
"SETYA_GHAHREMANI":"82",
"SHARMAAKE_HANDBO":"59.20",
"YAHYA_ABDELBAGI":"64",
"YOUSIF_KASHWAN":"76.40"
}
for i, ii in objects.items():
if float(ii) < 70:
print(i)
这样做是针对字典中的每个键和值,它会检查值(在类型 'float' 中)是否小于 70,然后打印。
您也可以尝试类似的方法:
for i in object.keys():
if float(object[i]) < 70:
print("{} has a score of {}".format(i, object[i]))
这会将分数转换为数字(特别是浮点数,因为那里有非整数),然后您可以检查每个分数是否满足您的条件。