/ / Zurück zur vorherigen Zeile in Python? - Python

Zurück zur vorherigen Zeile in Python? - Python

Ich versuche, das Folgende so zu erstellen, dass es die Variable neu zuordnet, während ich gehe.

def train(old_strength, old_energy):
train = input("What would you like to do now?n"strentgh" or "rest"n>")

if train == "strength":
strength = old_strength+10
energy = old_energy-10


if energy <= 0:
print ("You do not have enough energy to do this.")

else:
pass

print ("You have gained 10 strength, and now have %d strength and %d energy left" %(strength, energy))
old_strength = strength)
old_energy = energy)
train(old_strength, old_energy)

Ich versuche, es so zu bekommen, dass es, wenn es zum "Zug" Eingang zurückgeht, die neuen Stärke- und Energiewerte für das nächste Mal benutzt. Im Moment bekomme ich den Fehler

Traceback (most recent call last):
File "settler.py", line 127, in <modul
train(10, 50)
File "settler.py", line 37, in train
train(old_strength, old_energy)
TypeError: "str" object is not callable

Wie behebe ich das? Vielen Dank im Voraus

Antworten:

4 für die Antwort № 1

Du hast wieder abgestimmt def train(....) mit str durch Schreiben train = input(...).

Darum kommst du TypeError: "str" object is not callable.

Verwenden Sie eine andere Variable zum Erfassen input.

BEARBEITEN:

Und in deinem zweiten if Erklärung (energy <= 0) Vielleicht lohnt es sich, etwas mehr zu tun, als nur Benachrichtigungen zu drucken? return ? oder zu leas gehören die letzten 4 Zeilen in die else Block. Aber es ist nur ein freier Gedanke, vielleicht fangen Sie gerade damit an.