小能豆

如何才能在同一行上同时打印多个内容(固定文本和/或变量值)?

javascript

我有一些如下代码:

score = 100
name = 'Alice'
print('Total score for %s is %s', name, score)

我希望它打印出来Total score for Alice is 100,但我得到的却是Total score for %s is %s Alice 100。如何才能让所有内容以正确的顺序和正确的格式打印出来?


阅读 27

收藏
2024-07-09

共1个答案

小能豆

要让所有内容以正确的顺序和格式打印出来,你需要正确地使用字符串格式化方法。你当前的代码将变量namescore作为额外的参数传递给print函数,而不是将它们包含在字符串格式中。

这里有几种方法可以正确地格式化字符串:

使用 % 操作符

这是传统的字符串格式化方法:

score = 100
name = 'Alice'
print('Total score for %s is %s' % (name, score))

使用 str.format() 方法

这种方法比 % 操作符更强大且灵活:

score = 100
name = 'Alice'
print('Total score for {} is {}'.format(name, score))

使用 f-字符串 (Python 3.6+)

f-字符串提供了一种简洁且可读性强的格式化方式:

score = 100
name = 'Alice'
print(f'Total score for {name} is {score}')

解释

  1. 使用 % 操作符:
  2. print('Total score for %s is %s' % (name, score)):

    • %s 占位符被元组 (name, score) 中对应的值替换。
  3. 使用 str.format() 方法:

  4. print('Total score for {} is {}'.format(name, score)):

    • {} 占位符被传递给 format() 方法的值替换。
  5. 使用 f-字符串:

  6. print(f'Total score for {name} is {score}'):
    • {name}{score} 占位符被变量的值直接替换。

示例输出

所有这些方法都会正确输出:

Total score for Alice is 100

选择最适合你编码风格和 Python 版本要求的方法。如果你使用的是 Python 3.6 或更高版本,f-字符串通常是最可读且推荐的选项。

2024-07-09