from random import randint
roomTypes = ['T|', 'M|', 'W|', 'H|', 'C|']
dungeonLayout = ''
for i in range(1,10):
dungeonLayout = dungeonLayout.join(roomTypes[randint(0, 4)])
print('Room types are Temple |T|, Abandoned Military Base |M|, Wizard\'s Abodes |W|, House |H|, Church |C|')
print('_____________________________')
print('|' + dungeonLayout)
print('_____________________________')`
Mein Code (die oben gezeigt wird) soll eine zufällige Liste der Zimmer zurück, diese Art von Arbeiten, aber statt der Räume wie folgt formatiert:.join() liefert unerwartete Zeichenfolge
|W|H|
druckt:
|WH||
ich bin neugierig, warum das so ist und habe mich gefragt, ob ich mit dem join
Befehl falsch oder ob ich überhaupt einen anderen Befehl verwenden.
Was wird ' 'W |' .join ('H |')' zurückkehren? –
@PeterWood Ich würde erwarten, dass es zurückgibt W | H |, aber es gibt WH ||, ich benutze Python 3.5.2 Wenn das hilft – Harvey
@Harvey gegeben was 'str.join' tut, das scheint nicht sinnvoll Erwartung. Beachten Sie, dass z.B. '' ''. join (' foo ')' ist '' f, o, o''. – jonrsharpe