Ich möchte int in meinem Array-Element verwenden. Jetzt ist mein CodeIch möchte int in meinem Array-Element verwenden
def hanoi_pos(discs, index):
power = 2**discs
stacks = ['', '', '']
for disc in range(discs):
stack = (index+power//2)//power % 3
if disc % 2 == 0: stack = (3 - stack) % 3
power = power // 2
stacks[stack] += chr(64 + discs - disc)
return stacks
def get_game_state(stacks):
return '\n'.join([' '.join(st) if st else '-' for st in stacks])
x = hanoi_pos(4, 6)
y = get_game_state(x)
print(y)
In meinem Code, ich chr Methode an die Stelle der chr(64 + discs - disc)
verwenden. Aber diesmal möchte ich int wie 1,2,3 · · · · verwenden. "A" entspricht 1, "B" entspricht 2, "C" entspricht 3 · · ·. Ich schrieb diesen Ort wie int(64 + discs - disc)
, aber Fehler passieren. Ich dachte für die Aussage kann verwendet werden, aber es ist überflüssig. Also, wie kann ich das tun? Wie kann ich str in int umwandeln?
Zuerst, wenn Sie einen Fehler haben, sollten Sie auch das Traceback buchen. Zweitens ist Python eine stark typisierte Sprache. Sie versuchen, ein int an eine Zeichenfolge anzufügen, und das gibt Ihnen (ich nehme an) 'TypeError' Ausnahme. – nutmeg64