如何解决无法索引字典数组中存在的用户输入
我有一个用户输入,允许您输入要查找的任何名称,通过该用户输入,我还想对该值进行分级并给它加上标签,但是我在索引用户时遇到了麻烦输入。
Stud = {
"Emily": "55","Jaden": "67","Shifrah": "99","Laszlo": "73","Miguel": "33","Raphael": "78","Olivia": "21","Daniel": "89","Josiah": "34","Tyrese": "79",}
GradeBound = [
['A',90],['B',80],['C',70],['D',60],['E',50],['U',0]
]
studCount = len(Stud)
studSel = str(input("Who are you looking for?"))
if studSel in Stud:
print('found!')
else:
print('no')
我已经尝试过Stud.index(studSel)
,但是它根本不允许在字典中建立索引。
要重申一下,我希望用户输入一个学生,我想为其对用户输入进行索引(如果在字典中找到),然后将其与gradeBound数组进行比较,返回一个分数。
解决方法
我认为您可能会更改某些行,例如,最好将Stud
数组中的成绩类型从string
更改为int
。只需删除报价。但这只是不做此更改的解决方案
Stud = {
"Emily": "55","Jaden": "67","Shifrah": "99","Laszlo": "73","Miguel": "33","Raphael": "78","Olivia": "21","Daniel": "89","Josiah": "34","Tyrese": "79",}
GradeBound = [
['A',90],['B',80],['C',70],['D',60],['E',50],['U',0]
]
studCount = len(Stud)
studSel = str(input("Who are you looking for?"))
if studSel in Stud:
print('found!')
grade = int(Stud[studSel])
print(grade)
upperlimit = []
lowerlimit = []
for gb in GradeBound:
if grade < gb[1]:
upperlimit.append( gb[1] )
else:
lowerlimit.append( gb[1] )
upper,lower = min(upperlimit),max(lowerlimit)
for gb in GradeBound:
if upper in gb:
gbu = gb[0]
if lower in gb:
gbl = gb[0]
print("the grade is between",gbl,gbu)
else:
print('no')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。