Python字典查询课程上机地点:错误分析与代码修复
Python字典查询课程上机地点:错误分析与代码修复
代码题目: 根据给定的字典,当输入课程名或课程名代码时,输出上机地点,不使用not。
原始代码:
m={'导论':'001','数字逻辑':'002','电路':'003'}
n={'001':'E310','002':'E315','003':'E312'}
for i in range(1,4):
x=input('输入课程名或代码:')
if x.isupper():
print(n.get(x))
else:
y=m.get(x)
print(n.get(y))
错误分析: 在第8行的判断语句中,没有考虑到输入的课程名或代码不在字典中的情况,导致会输出None。应该使用is not None判断字典中是否存在该键值对,如果不存在,输出提示信息。
代码修复:
m={'导论':'001','数字逻辑':'002','电路':'003'}
n={'001':'E310','002':'E315','003':'E312'}
for i in range(1,4):
x=input('输入课程名或代码:')
if x.isupper():
print(n.get(x))
else:
y=m.get(x)
if y is not None:
print(n.get(y))
else:
print('未找到该课程')
代码解释:
- 在第8行,我们使用
if y is not None:来判断m.get(x)是否返回了None。 - 如果
y不为None,则表示在字典m中找到了对应的课程代码,然后使用print(n.get(y))输出上机地点。 - 如果
y为None,则表示在字典m中没有找到对应的课程代码,输出'未找到该课程'的提示信息。
总结:
通过使用is not None来判断字典中是否存在对应的键值对,可以有效地避免出现None输出的错误,并提供更友好的用户提示信息。
原文地址: https://www.cveoy.top/t/topic/nYyp 著作权归作者所有。请勿转载和采集!