Ich lerne Python und versuche, meinen Code in Funktion.Kann Operator nicht auf Python3 zuweisen
## set total sticks number
stick_left = 20
## Given hints, this for statement shows sticks
for _ in range(5): print('| '*stick_left)
## this condition lasts until stick = 0
while stick_left>0:
## first player
first_player=input('Player1: please pick sticks up to 3 ')
if first_player>3 or first_player<0:
print('Please pick between 1-3 stick(s)')
else:
stick_left-=first_player
if stick_left<=0:
print ('Player1 lost')
break
else:
print('There is %d stick(s) left' %stick_left) ## print how many sticks left
for _ in range(5): print('| ' * stick_left)
## second player
second_player = input('Player2: Please pick sticks up to 3 ')
if second_player > 3 or second_player < 0:
print('Please pick between 1-3 stick(s)')
else:
stick_left -= second_player
if stick_left <= 0:
print ('Player2 lost')
break
else:
print('There is %d stick(s) left' % stick_left)
for _ in range(5): print('| ' * stick_left)
und dies ist mein Code enthält Funktion
player =0
def player():
for i in 2:
player%d %i= input('Player %d: Please pick sticks up to 3' %i)
if player >3 or player <0:
print('Please pick between 1-3 stick(s)')
Zeile 4, ich will es player1 player2 machen drucken, aber ich merke nur, dass ich nicht Bediener so zuweisen können. Ich versuchte player_%d %i
aber kein Glück. Kann mir bitte jemand einen Rat geben? Danke!
Sie können keine Variable mit dem Namen 'player' und eine Funktion mit dem gleichen Namen haben – ForceBru
@ForceBru Sie können, wäre es nur die Variable neu zu definieren. So würde "player" innerhalb der Funktion sich auf die Funktion beziehen, nicht "0". –
@TuomasLaakkonen, so wird dies zu einem Durcheinander führen und etwas tun, das das OP nicht will – ForceBru