Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-在参数的文本部分包含一个变量_Python - Fatal编程技术网

Python-在参数的文本部分包含一个变量

Python-在参数的文本部分包含一个变量,python,Python,因此,在Pygame中有一个向用户显示消息的功能: def message_to_user(msg, color, X_displacement, Y_displacement): # creating function to display messages to the user message=font.render(msg,True,color) msgcenter=200+X_displacement,200+Y_displacement Game_di

因此,在Pygame中有一个向用户显示消息的功能:

def message_to_user(msg, color, X_displacement, Y_displacement):
    # creating function to display messages to the user
    message=font.render(msg,True,color)
    msgcenter=200+X_displacement,200+Y_displacement
    Game_display.blit(message,msgcenter)
现在,我需要显示一条消息,并显示另一个变量:

        message_to_user("You managed to complete",levelcounter,"levels",green,0,40)
以下是错误:

TypeError: message_to_user() takes exactly 4 arguments (6 given)

我理解为什么会出现这个错误,只是想不出解决方法

在将字符串传递给函数之前,需要构建字符串

mess = "You managed to complete {} levels".format(levelcounter)
message_to_user(mess, green, 0, 40)

在将字符串传递给函数之前,需要构建该字符串

mess = "You managed to complete {} levels".format(levelcounter)
message_to_user(mess, green, 0, 40)
我想这个。。。 消息给用户(“您已完成”,水平计数器,“水平”,绿色,0,40)

应该成为

给用户的消息(“您成功地完成了”+str(levelcounter)+“levels”,绿色,0,40)

我认为。。。 消息给用户(“您已完成”,水平计数器,“水平”,绿色,0,40)

应该成为


message_to_user(“您成功完成了”+str(levelcounter)+“levels”,绿色,0,40)

您可以将字符串与变量连接起来,使message 1成为参数

message_to_user("You managed to complete " + levelcounter + " levels",green,0,40)

这将修复函数调用,使参数与变量匹配

您可以将字符串与变量连接起来,使message 1成为参数

message_to_user("You managed to complete " + levelcounter + " levels",green,0,40)

这将修复函数调用,使参数与变量匹配,我只需将
levelcounter
作为参数,然后在定义中创建
msg

def message_to_user(levelcounter, color, X_displacement, Y_displacement):
    msg = "You managed to complete " + str(levelcounter) + " levels!"
    message = font.render(msg, True, color)
    msgcenter = 200 + X_displacement, 200 + Y_displacement
    Game_display.blit(message, msgcenter)

我只需要将
levelcounter
作为参数,然后在定义中创建
msg

def message_to_user(levelcounter, color, X_displacement, Y_displacement):
    msg = "You managed to complete " + str(levelcounter) + " levels!"
    message = font.render(msg, True, color)
    msgcenter = 200 + X_displacement, 200 + Y_displacement
    Game_display.blit(message, msgcenter)

可能重复的错误意味着它所说的。函数有四个参数:msg、color、X_置换、Y_置换。你给了六个。查看上面的重复链接,了解如何在Python中正确连接字符串,以便只发送所需的四个参数。错误的可能重复意味着它所说的内容。函数有四个参数:msg、color、X_置换、Y_置换。你给了六个。查看上面的重复链接,了解如何在Python中正确连接字符串,以便只发送所需的四个参数。啊,这么简单的解决方案,谢谢这么简单的解决方案,谢谢如果
levelcounter
不是字符串会发生什么?TypeError:无法连接'str'和'int'对象。会发生的。因此,请使用Larry对str(参数)的回答将其设置为string。如果
levelcounter
不是字符串,会发生什么?TypeError:无法连接'str'和'int'对象。会发生的。因此,使用拉里的str(参数)答案使其成为字符串