import msvcrt as m
def wait():
m.getch()
strength = 10
health = 10
input("You now have",strength,"strength and",health,"health")
wait()
这是我正在从事的项目的一部分,我遇到了一个看似无法解决的问题。 运行此代码时,它应该打印(“您现在拥有10点力量和10点生命值”),但会返回:
input("You now have",strength,"strength and",health,"health")
TypeError: input expected at most 1 arguments, got 5
我绝对感到困惑,并且我尝试了许多不同的方法来解决此问题,包括调整变量,例如:str(strength),(strength),并尝试用'+'替换逗号,但似乎没有任何效果,它阻止了我程序无法正常工作。
答案 0 :(得分:0)
正如评论者凯尔伍德指出的那样,您不能将多个参数传递给函数input
。但是,由于变量的类型为int,因此无法直接将变量的强度和运行状况添加到字符串中。因此,请尝试以下操作。
import msvcrt as m
def wait():
m.getch()
strength = 10
health = 10
input("You now have "+str(strength)+" strength and "+str(health)+" health")
wait()
希望有帮助!
答案 1 :(得分:0)
尝试这样的事情:
inputString = "You now have " + str(strength) + " strength and " + str(health) + " health"
input(inputString)
答案 2 :(得分:0)
我假设您想将当前传递给input
的数据输出。
您可以在print
函数中使用字符串格式:
print('You now have {} strength and {} health'.format(strength, health))