您如何连接输入?

时间:2018-06-25 15:35:06

标签: python

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),并尝试用'+'替换逗号,但似乎没有任何效果,它阻止了我程序无法正常工作。

3 个答案:

答案 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))