此代码还有更多内容,但是我尝试删除了大部分不需要的东西。我的问题是,当y变为1时,z变量不会改变。我不确定如何将变量绑定在一起,以便在y滴答作响时重置z变量。我尝试进行y != 2
,但是,仅在x > 20
下有效。
x = 10
y = 2
z = 20
list = ['10']
while y != 0:
if 10 in list:
z = z - x
if z <= 0:
y = y - 1
else:
if hp <= 0:
over()
break
答案 0 :(得分:1)
您好,欢迎来到StackOverflow,
对于您而言,它仅在x=20
时有效,因为当if ehp <= 0
也为真时,条件ehp=ehp-x
为真。
为了修复它并重置emp
,我会做类似的事情:
while enemiesleft != 0:
if 'Bow' in character:
ehp = ehp - x
if ehp <= 0:
enemiesleft = enemiesleft - 1
ehp=20 # reset it here
else:
if hp <= 0:
over()
break
此外,由于我不太了解ehp
的用途,因此您可能需要不同地减少它。现在,例如,如果x=20
每个循环while enemiesleft != 0
将使您的enemiesleft
减少1。例如,如果您原来的ehp=21
将需要2个循环才能复位,依此类推。
P.S希望我理解您要正确执行的操作。正如其他人指出的那样,很难确定您真正想要的是什么