如何在 python 3.0 中修复这种类型的错误?每当我使用传递参数(dict{})时,它都会显示这种类型的错误“NameError: name 'P' is not defined”

普雷特帕里赫
 def bowling(p1,p2,p3,p4,p5):
        x=1
        while x<6:
            print(px.get('role'))   

“NameError:未定义名称‘P’”

 x=x+1
 p1={'name':'Virat Kohli', 'role':'bat', 'runs':112, '4':10, '6':0, 'balls':119, 'field':0}
 p2={'name':'du Plessis', 'role':'bat', 'runs':120, '4':11, '6':2, 'balls':112, 'field':0}
 p3={'name':'Bhuvneshwar Kumar', 'role':'bowl', 'wkts':1, 'overs':10, 'runs':71, 'field':1}
 p4={'name':'Yuzvendra Chahal', 'role':'bowl', 'wkts':2, 'overs':10, 'runs':45, 'field':0}
 p5={'name':'Kuldeep Yadav', 'role':'bowl', 'wkts':3, 'overs':10, 'runs':34, 'field':0}
 bowling(p1,p2,p3,p4,p5)    #passing dict as argument
弘主角

python 不能像你想象的那样访问变量......(当你编写时x=1python 将无法访问只是一个尚未定义的新名称)。p1pxpx

你可以做的是:

def bowling(*args):
    for px in args:
        print(px.get("role"))

bowling(p1, p2, p3, p4, p5)

即使用可变数量的参数*args并迭代它们。例如,您可以在python 文档此处此处找到有关如何使用它们的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章