Python 如何根据parentiss函数更改变量名称? if strengh1

Python 如何根据parentiss函数更改变量名称? if strengh1,python,function,printing,Python,Function,Printing,您的代码显示了对Python名称工作方式的深刻误解。仅仅设置character=1并写入death character将无法访问death 1,这根本没有任何意义。关于Python如何处理名称,有一本很好的入门书 您的具体问题可以通过将实际需要的所有变量传递到output来解决: if strengh1 <=0: death1=True else: death1 = False if strengh2 <=0: death2=True else: d

您的代码显示了对Python名称工作方式的深刻误解。仅仅设置
character=1
并写入
death character
将无法访问
death 1
,这根本没有任何意义。关于Python如何处理名称,有一本很好的入门书

您的具体问题可以通过将实际需要的所有变量传递到
output
来解决:

if strengh1 <=0:
    death1=True
else:
    death1 = False

if strengh2 <=0:
    death2=True
else:
    death2=False

def output(character):
    if death character == False:
        print
        print('Character', character ,' strengh is now %s' % strengh1)    
        print('Character ', character ,' skill is now %s' % skill1)
    else:
        print
        print('Character ', character ,' is dead')

output(1)
output(2)

这显然有点尴尬,因此下一步将是将这些参数封装为
字符
类中的属性;见例。然后可以将单个
字符
实例传递给函数。

通常,最自然的解决方案是使用字典

def output(character, strength, skill, death):
    if not death:
        print
        print('Character', character ,' strength is now %s' % strength)    
        print('Character ', character ,' skill is now %s' % skill)
    else:
        print
        print('Character ', character ,' is dead')

output(1, strength1, skill1, death1)
death=dict()
#最有可能的是,力量也应该是一句格言
如果强度1
death = dict()
# most probably strength should be a dict too

if strengh1 <=0:
    death[1]=True
else:
    death[1] = False
# or death[1] = bool(strength1<=0)

if strengh2 <=0:
    death[2]=True
else:
    death[2]=False

def output(key):
  if death[key]== False:
    print
    print('Character', character ,' strengh is now %s' % strengh1)    
    print('Character ', character ,' skill is now %s' % skill1)
  else:
    print
    print('Character ', character ,' is dead')

output(1)
output(2)