Python 3.x 如何在python 3.0中修复此类型错误?每当我使用传递参数(dict{})时,它都会显示这种类型的错误“namererror:name'P'未定义”

Python 3.x 如何在python 3.0中修复此类型错误?每当我使用传递参数(dict{})时,它都会显示这种类型的错误“namererror:name'P'未定义”,python-3.x,Python 3.x,python无法以您认为的方式访问变量。。。当x=1时,当您写入px时,python将无法访问p1;px只是一个尚未定义的新名称 你能做的是: 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,

python无法以您认为的方式访问变量。。。当x=1时,当您写入px时,python将无法访问p1;px只是一个尚未定义的新名称

你能做的是:

 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

i、 e.使用可变数量的参数*args并对其进行迭代。例如,您可以在or或中找到有关如何使用这些选项的更多信息。

px未在编解码器中定义。请再次发送此答案并解释。。。。。因为我是python新手。添加了一些可能有用的链接。
 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
def bowling(*args):
    for px in args:
        print(px.get("role"))

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