Python 有人能帮我理解什么';下面的代码中有什么错误? 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 学位(姓名1,证书1) NameError:未定义名称“cert1”
通过引入新词典简化您的功能:Python 有人能帮我理解什么';下面的代码中有什么错误? 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 学位(姓名1,证书1) NameError:未定义名称“cert1”,python,function,loops,for-loop,Python,Function,Loops,For Loop,通过引入新词典简化您的功能: Traceback (most recent call last): File "<ipython-input-238-4c32ecccc897>", line 1, in <module> sch_degree(name1, cert1) NameError: name 'cert1' is not defined 返回: degree = {'name1': 'sam', 'ce
Traceback (most recent call last):
File "<ipython-input-238-4c32ecccc897>", line 1, in <module>
sch_degree(name1, cert1)
NameError: name 'cert1' is not defined
返回:
degree = {'name1': 'sam',
'cert1': 'bachelors',
'name2': 'Ann',
'cert2': 'masters',
'name3': 'john',
'cert3': 'associates',
'name4': 'oz',
'cert4': 'phd'
}
cert_yr = {'bachelors': 'four',
'masters': 'two',
'associates': 'two',
'phd': 'four'
}
def sch_degree(n, c):
return f"{degree[n]} is a {cert_yr[degree[c]]} year holder of a {degree[c]}"
print(sch_degree('name1', 'cert1'))
print(sch_degree('name2', 'cert2'))
print(sch_degree('name3', 'cert3'))
print(sch_degree('name4', 'cert4'))
那么,错误的哪一部分还不清楚<代码>证书1在定义之前已被访问。你的意思是:
学位['cert1']
?也许你的意思是:学校学位(学位['name1'],学位['cert1'])
?如果是这样的话,你还会有其他错误。@DeepSpace的主要目的是打印出第一句话:“{Sam}是{bachelors}的四年持有人”。谢谢谢谢你,博洛拉!我还有很长的路要走。
degree = {'name1': 'sam',
'cert1': 'bachelors',
'name2': 'Ann',
'cert2': 'masters',
'name3': 'john',
'cert3': 'associates',
'name4': 'oz',
'cert4': 'phd'
}
cert_yr = {'bachelors': 'four',
'masters': 'two',
'associates': 'two',
'phd': 'four'
}
def sch_degree(n, c):
return f"{degree[n]} is a {cert_yr[degree[c]]} year holder of a {degree[c]}"
print(sch_degree('name1', 'cert1'))
print(sch_degree('name2', 'cert2'))
print(sch_degree('name3', 'cert3'))
print(sch_degree('name4', 'cert4'))
sam is a four year holder of a bachelors
Ann is a two year holder of a masters
john is a two year holder of a associates
oz is a four year holder of a phd