在Python中打印多个参数

这只是我的一个代码片断。

print("Total score for %s is %s  ", name, score)

但我希望它能打印出来。

"(姓名)的总分是(分数)&quot。

其中name是一个列表中的变量,score是一个整数。这是Python 3.3,如果这有什么帮助的话。

有许多方法可以做到这一点。要使用%格式化修复你当前的代码,你需要传入一个元组。

1.把它作为一个元组传递。

    print("%s的总分是%s" % (name, score))

一个只有一个元素的元组看起来像('this',)

下面是一些其他常见的方法。

2.把它作为一个字典传递。

    print("%(n)s的总分是%(s)s" % {'n': name, 's': score})

还有新式的字符串格式,这可能更容易阅读。

3.使用新式的字符串格式化。

    print("{}的总分是{}".format(name, score))

4.对数字使用新式的字符串格式化(对重新排序或多次打印同一个数字很有用)。

    print("{0}的总分是{1}".format(name, score))

5.5.使用新式的字符串格式化与明确的名称。

    print("{n}的总分是{s}".format(n=name, s=score)

6.6.串联字符串。

    print("" + str(name) + " 的总分是" + str(score))

在我看来,这是最清楚的两个。

7.只需将数值作为参数传递。

    print("Total score for", name, "is", score)

如果你不希望上面的例子中的`print`自动插入空格,请改变`sep`参数。

    print("Total score for ", name, " is ", score, sep='')

如果你使用的是Python 2,将不能使用最后两个,因为`print`在Python 2中不是一个函数。然而,你可以从`__future__`导入这种行为。

    从__future__导入print_function

8.使用Python 3.6中新的f-字符串格式化。

    print(f'{name}的总分是{score}')
评论(4)

保持简单,我个人喜欢字符串连接法。

print("Total score for " + name + " is " + score)

它在Python 2.7和3.X中都适用。

注意:如果分数是int,那么,你应该把它转换成str

print("Total score for " + name + " is " + str(score))
评论(0)

试一下吧。

print("Total score for", name, "is", score)
评论(0)