每当我运行这个程序时(不是一个严肃的程序,只是为了搞清楚事情的想法),来自monster (monster[1])
刚才的损害一遍又一遍地重复相同的数字。它随机化一次,然后重复它。我明白发生了什么,但我不明白为什么会这样。这是代码(对不起,我不知道我的问题是否清楚......在我的脑海中很有意义哈哈)
编辑 - 我希望 Monster[1] 函数每次都随机化,但如果不编写更多代码(即damage=random.randint(5, 15)
health-=damage
),我不知道该怎么做。如果我这样写它工作正常。但是如果我有一系列 10 个不同的怪物,我不想专门写那个。如果有意义的话,我只想召唤每个怪物并让它自己运行。
编辑#2:是否可以在列表中创建一个元组,因为元组是不可变的(即monster=[100, (random.randint(5, 15)), random.randint(15, 30)]
此代码不起作用我已经尝试过,但只是想知道它是否可能。
import random
monster = [100, random.randint(5, 15), random.randint(15, 30)]
health = 200
a = 1
print "you run into a monster"
while a == 1:
if monster[0] <= 0:
print "monster is dead"
print "you get, " + str(monster[1]) + " exp"
a += 1
elif monster[0] >= 0:
att = random.randint(5, 15)
monster[0] -= att
health -= monster[1]
print ("you attack the monster and do, " + str(att) + " damage"
" the monster does," + str(monster[1]) + " damage to you")
print "you have, " + str(health) + " health left"
print "monster has, " + str(monster[0]) + " health left"