当前位置: 首页 > 知识库问答 >
问题:

如何使用一个打印语句但仍在多行打印

白越
2023-03-14

是否有一种方法可以只使用一条打印语句,但仍能达到与下面代码中相同的效果?我尝试了在这种情况下无法使用的结束语句,或者我使用了错误的结束语句:

print ('Deposit: ' + str(deposit))
print ('Withdrawl: ' +  str(withdrawl))
print ('Available amount: ' + str((deposit + withdrawl)//1))

共有3个答案

侯向文
2023-03-14

可以使用模板渲染,如:

template = '''Deposit: {0}
Withdrawal: {1}
Available amount: {2}'''

deposit = 1000
withdrawal = 900

print template.format(deposit, withdrawal, (deposit + withdrawal)//1)

我却没有得到平衡公式,你能解释一下吗?

步衡
2023-03-14

看起来您正在使用Python 3。x、 如果是,则可以将打印的sep参数设置为“\n”,以便用换行符分隔每个参数:

print('Deposit: ' + str(deposit), 'Withdrawl: ' +  str(withdrawl), 'Available amount: ' + str((deposit + withdrawl)//1), sep='\n')

虽然这确实会让你排得很长。您可能需要考虑将其分为两行:

print('Deposit: ' + str(deposit), 'Withdrawl: ' +  str(withdrawl),
      'Available amount: ' + str((deposit + withdrawl)//1), sep='\n')

请注意,您也可以在选定的位置删除一些换行符。这将允许您简单地编写上面的内容:

print('Deposit: ', deposit, '\nWithdrawl: ', withdrawl, '\nAvailable amount: ', (deposit + withdrawl)//1)

这个解决方案的好处是它摆脱了对str的所有调用(print自动对其参数进行字符串化)。

最后但同样重要的是,如果您实际使用的是Python 2. x,那么您可以从__future__导入Python 3. xprint函数。将这一行放在代码的顶部:

from __future__ import print_function
淳于博
2023-03-14

是的,您可以使用插入换行符:

print('Deposit: {}\nWithdrawl: {}\nAvailable amount: {}'.format(
    deposit, withdrawl, (deposit + withdrawl) // 1))

不过,这并不一定更好。IMHO在这里使用单独的print()语句更具可读性。

您可以使用字符串连接使其稍微好一点:

print(('Deposit: {}\n' +
    'Withdrawl: {}\n' +
    'Available amount: {}').format(deposit, withdrawl, (deposit + withdrawl) // 1)

这也不一定比IMHO更好。

我还使用了格式来提高可读性;这消除了手动调用str的需要,并且可读性更强(它可以做更多的事情,请参见链接)。

我尝试了结束语句,要么在这种情况下不起作用,要么我使用不正确

我假设您使用了类似于打印('foo',bar',end=“\n”)的东西,这将不起作用,因为只会将end附加到所有参数的end-end;sep参数在参数之间打印(默认为空格)
那么您要做的是:<代码>打印('foo',bar',sep=“\n”)

这样做的缺点是,您需要3个。设置调用的格式,或保持“丑陋”的字符串串联。

 类似资料:
  • 问题内容: 例如,我有两个变量,以及如何仅使用一个变量而不将类型转换为来在单独的行中打印两个整数。(如在C ++以下:) 问题答案: 在python3中: 在python2中: …或者使用python3的打印 自从我的第一个答案以来,OP就使用可变类型更改来编辑问题。更新已更新问题的答案: 如果您有一些整数,即和: Python 3: Python 2: 要么 要么

  • 问题内容: 最近我一直在用Python编写很多代码。而且我一直在使用以前从未使用过的数据,使用以前从未见过的公式来处理大型文件。所有这些使我写了很多打印语句来验证是否一切正常,并确定故障点。但是,通常,输出太多信息不是一个好习惯。仅当我要调试时才使用打印语句,而当我不希望打印它们时如何跳过它们? 问题答案: 该模块具有您想要的一切。乍一看似乎有些多余,但只使用您需要的零件。我推荐使用切换日志级别和

  • 问题内容: 我有一些程序在评估病情后想得到某种确认。 例如,pusedocode就像 我应该如何在MySQL中做到这一点? 问题答案: 如果您不想两次将文本用作列标题和值,请使用以下stmt!

  • 问题内容: 我正在尝试解析JSON文档,并在同一行上打印几个值。有没有办法获取以下文件: 然后吐出来: 我可以获得所需的值,但它们分别打印在不同的行上: 如果某处有一个示例说明如何执行此操作,那么我会感激任何提示。 问题答案: 您的示例中最简单的方法是将String Interpolation 与选项一起使用。例如 产生 您可能还需要考虑将值放入数组中并使用@tsv例如 产生制表符分隔的

  • 问题内容: 如果我想在Python中打印多行文本而不用为每一行都键入内容,是否有办法做到这一点?我将其用于ASCII艺术。 (Python 3.5.1) 问题答案: 您可以使用三引号(单引号或双引号):

  • 问题内容: 我在下面编写了Java代码,该代码执行另一个名为“ Newsworthy_RB”的Java程序。 Newsworthy_RB.java包含System.out.printlln()和System.err.println()语句。 我希望两个输出都在命令提示符控制台中打印。 为了获得相同的结果必须要做的事情。 下面的程序仅打印out.println()语句,而不打印err.println