def globalSuit():
global Affinity1
global HP1
global AD1
global Affinity2
global HP2
global AD2
def getmonsterData():
monster1 = raw_input("Enter the Monster 1's Affinity|HP|AD> ")
x = monster1.index('|')
y = monster1.index('|',x+1)
Affinity1 = monster1[:x]
HP1 = monster1[x+1:y]
AD1 = monster1[y+1:]
printNow(Affinity1+"|"+HP1+"|"+AD1)
monster2 = raw_input("Enter the Monster 2's Affinity|HP|AD> ")
x = monster2.index('|')
y = monster2.index('|',x+1)
Affinity2 = monster2[:x]
HP2 = monster2[x+1:y]
AD2 = monster2[y+1:]
printNow(Affinity2+"|"+HP2+"|"+AD2)
battleNow();
def battleNow():
if (AD1 > AD2):
printNow("Monster 1 is stronger")
if (AD1 < AD2):
printNow("Monster 2 is stronger")
目前的主要问题是,当我运行这个,理想情况下,用户将输入怪物数据1和2是这样的
def getmonsterData():
monster1 = raw_input("Enter the Monster 1's Affinity|HP|AD> ")
x = monster1.index('|')
y = monster1.index('|',x+1)
Affinity1 = monster1[:x]
HP1 = monster1[x+1:y]
AD1 = monster1[y+1:]
printNow(Affinity1+"|"+HP1+"|"+AD1)
monster2 = raw_input("Enter the Monster 2's Affinity|HP|AD> ")
x = monster2.index('|')
y = monster2.index('|',x+1)
Affinity2 = monster2[:x]
HP2 = monster2[x+1:y]
AD2 = monster2[y+1:]
printNow(Affinity2+"|"+HP2+"|"+AD2)`
然后正如您在代码底部看到的,我也将它输入到下一个方法battleNow(); 理想情况下,它会提供怪物信息1和2,在上一个方法中输入,然后我可以采取这3个变量,AFF | HP | AD,我想我在battleNow方法中,我可以做一些if/else语句,根据亲和因子/他们的HP/和他们的AD,哪个更强
if (AD1 > AD2):
printNow("Monster 1 is stronger")
if (AD1 < AD2):
printNow("Monster 2 is stronger")`
这将决定哪个怪物更强,但我似乎无法让它识别出什么AD1:AD2/Hp1:Hp2/aff1:aff2在getMonsterData()之外
我得到的错误是
"======= Loading Progam =======
Enter the Monster 1's Affinity|HP|AD> Earth|50|10
Earth|50|10
Enter the Monster 2's Affinity|HP|AD> Water|55|10
Water|55|10
The error was:AD1
Name not found globally.
A local or global name could not be found. You need to define the function or variable before you try to use it in any way."
函数getMonsterData()或main应该调用函数globalSuit()。 当您调用函数battleNow()时,您得到的错误是您的变量尚未定义为全局变量。 修复示例:
我所要做的就是不为我的全局变量创建一个单独的方法,而是将它放在主getmonsterData()中
我想我已经解决了我需要的。。谢谢大家!你知道吗
相关问题 更多 >
编程相关推荐