ich möchte eine Liste mit zufälligen Einträgen erzeugen um eine Karte für ein Spiel zu erzeugen. Das funktioniert auch recht gut, allerdings bekomme ich unregelmäßig None Einträge in die Liste und das Programm stürzt ab. Kann mir vielleicht jemand sagen warum dieses None erzeugt wird oder was ich ändern sollte damit das nicht passiert?
Code: Alles auswählen
import random
def gen_random():
rand = random.randint(0, 4)
if rand == 0:
return []
if rand == 1:
return ['Ork']
if rand == 2:
return ['Goblin']
if rand == 3:
return ['Goblin', 'Goblin', 'Ork']
def map(width, height):
state = []
for i in range(width):
fields = []
for j in range(height):
fields.append(gen_random())
state.append(fields)
# print für fehlersuche
for i in state:
print(i)
map(5, 5)
Code: Alles auswählen
[['Goblin', 'Goblin', 'Ork'], [], ['Goblin', 'Goblin', 'Ork'], None, []]
[None, [], None, ['Goblin'], []]
[['Goblin', 'Goblin', 'Ork'], None, None, ['Goblin', 'Goblin', 'Ork'], None]
[['Goblin', 'Goblin', 'Ork'], ['Goblin', 'Goblin', 'Ork'], ['Goblin', 'Goblin', 'Ork'], ['Ork'], ['Ork']]
[[], ['Ork'], ['Goblin', 'Goblin', 'Ork'], ['Goblin', 'Goblin', 'Ork'], ['Goblin']]