繁体   English   中英

返回python的前一行?

[英]Go back to previous line in python?

我试图创建以下内容,以便在我进行操作时重新分配变量。

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)

我试图获取它,以便当它返回到“火车”输入时,它将在下一次使用新的强度和能量值。 此刻我得到了错误

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

我该如何解决? 提前谢谢了

您通过写train = input(...)重新分配了带strdef train(....) train = input(...)

这就是为什么出现TypeError: 'str' object is not callable

使用其他变量捕获input

编辑:

在您的第二条if语句( energy <= 0 )中,也许值得做的不仅仅是打印通知? 喜欢return吗? 或者至少将最后4行包含在else块中。 但这只是一个自由的想法,也许您才刚刚开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM