<p>您的函数没有返回任何内容,您可以返回一个字典,然后从中选择所需的值,例如:</p>
<p>另外,确保在while循环中更新choice,否则您将永远陷入循环中</p>
<pre><code>import random
def fillEnemyField():
print("Here's your first EnemyField")
return {"zombies": random.randrange(0, 15),
"trolls": random.randrange(0, 15),
"vampires": random.randrange(0, 15),
"ghosts": random.randrange(0, 15)
}
def printEnemyField():
print("Press 1 to get a new EnemyField")
print("Press 2 to get a new EnemyField")
print("Press 3 to get a new EnemyField")
print("Press 4 to get a new EnemyField")
print("Press 5 to quit")
choice = int(input("Enter a number: "))
while choice != 5:
if choice ==1:
print(fillEnemyField()['zombies'], "zombies in the field")
choice = int(input("Enter a number: "))
printEnemyField()
</code></pre>
<p><strong>或</strong></p>
<p>可能更好的选择是,您可以将选项作为参数传入,然后返回该选项,例如:</p>
<pre><code>def fillEnemyField(choise):
print("Here's your first EnemyField")
options = {"zombies": random.randrange(0, 15),
"trolls": random.randrange(0, 15),
"vampires": random.randrange(0, 15),
"ghosts": random.randrange(0, 15)
}
return options[choise]
def printEnemyField():
...
choice = int(input("Enter a number: "))
while choice != 5:
if choice == 1:
print(fillEnemyField('zombies'), "enemies on the field")
choice = int(input("Enter a number: "))
</code></pre>