我编写了一个函数,其中条件基于多个列表中的项目。正如下面您将看到的,我使用了“和”来告诉程序仅在两个条件都满足的情况下才执行条件。
我尝试了多种不同的语法和措辞的变体,但是下面编写代码的方式是我不会出现语法错误的唯一方法,并且我知道您必须像在代码中那样定义它为它工作。
Diplomacy=0
Appraise=0
Bluff=0
var=0
ranks=2
Charisma=1
testone=[Diplomacy, Appraise]
testtwo=[Bluff]
def testoneone(localvar):
global var, ranks, Charisma
if localvar in testone and localvar in testtwo:
var=0+ranks+Charisma
elif localvar in Testone and localvar not in testtwo:
var=var+ranks
elif localvar in testtwo and localvar not in testone:
var=Charisma
elif localvar not in testone and localvar not in testtwo:
var=0
return var
testoneone(Diplomacy)
if var==3:
print("T")
else:
print("F")
print(var)
预期结果将是数学运算是否正确,具体取决于我放置的外交名单。实际结果是,它始终默认为第一个条件,并且var变为3。