当前位置: 首页 > 面试题库 >

如何在一行中写多个字符串?

秦才良
2023-03-14
问题内容

我已经开始使用LPTHW学习Python,并且开始练习16:

http://learnpythonthehardway.org/book/ex16.html

并且觉得自己是个白痴,因为我无法弄清楚看似简单的“额外功劳”分配之一,但需要以下条件:

target.write(line1)
target.write('\n')
target.write(line2)
target.write('\n') 
target.write(line3)
target.write('\n')

压缩为一行代码。我尝试了以下一些方法

target.write(line1 \n, line2 \n, line3 \n)

要么:

target.write('line1 \n, line2 \n, line3 \n')

要么:

target.write(%r \n, %r \n, %r \n) % (line1, line2, line3)

我只是无法让它在同一行中重写line1,line2和line3字符串。而且,我尝试了各种其他组合,使用和不使用逗号,引号等。我不断收到各种错误,例如无效语法或参数过多。


问题答案:

target.write(line1 \n, line2 \n, line3 \n)

’\ n’仅在字符串文字中有意义。没有引号,您就没有字符串文字。

target.write('line1 \n, line2 \n, line3 \n')

好的,现在所有内容都是字符串文字。但是您希望line1,line2,line3不能是字符串文字。您需要将它们作为python表达式来引用有问题的变量。基本上,您必须在实际上是诸如“
\ n”之类的文本的字符串两边加上引号,而不能在变量两边加上引号。如果这样做,您可能会得到以下信息:

target.write(line1 '\n' line2 '\n' line3 '\n')

什么2 2啊 没什么。您必须向python指定如何将这两部分结合起来。所以,你可以有2 + 22 * 2,但2 2没有任何意义。在这种情况下,我们使用加号组合两个字符串

target.write(line + '\n' + line2 + '\n' + line3 + '\n')

继续,

target.write(%r \n, %r \n, %r \n) % (line1, line2, line3)

同样,\n仅在字符串文字内部有意义。%运算符用于生成字符串时,将字符串作为其左侧。因此,您需要在字符串中包含所有这些格式详细信息。

target.write('%r \n', '%r \n', '%r \n') % (line1, line2, line3)

但这会产生3个字符串文字,您只需要一个。如果执行此操作,请写抱怨,因为它只包含一个字符串,而不是3。因此,您可能尝试过以下方法:

target.write('%r \n%r \n%r \n') % (line1, line2, line3)

但是您想将line1,line2,line3写入文件。在这种情况下,您将尝试在写入完成后进行格式化。当python执行此操作时,它将首先运行target.write:

None % (line1, line2, line3)

这将无济于事。要解决此问题,我们需要将% ()内部.write()

target.write('%r\n%r\n%r\n' % (line1, line2, line3))


 类似资料:
  • 问题内容: Go是否与Python的多行字符串相似? 如果不是,编写跨多行字符串的首选方式是什么? 问题答案: 根据语言规范,您可以使用原始字符串文字,该字符串由反引号而不是双引号分隔。

  • 问题内容: 有一个大写字符串的函数,我希望能够更改字符串的第一个字符以确保它是小写的。 如何在Python中做到这一点? 问题答案: 一线处理空字符串和:

  • 本文向大家介绍如何在R中用换行符写字符串?,包括了如何在R中用换行符写字符串?的使用技巧和注意事项,需要的朋友参考一下 在编写字符串向量时,我们将它们放在一行中,但是我们可能想用不同的行来表示字符串,尤其是在字符串向量的每个值具有不同含义的情况下。这对程序员和其他读者都是有帮助的。我们可以使用R中的writeLines函数将单行更改为多行。 示例 单行阅读- 用换行读取相同的向量-

  • 如何检查一个字符串在Java中是否有多个大写字符(两个或多个相邻)?我尝试过:

  • 问题内容: 我知道您可以通过以下几种方式创建多行字符串: 三引号 级联 转义 我也知道,在字符串前面加上前缀将使它成为原始字符串,对于文件路径很有用。 但是,我有一个长文件路径,该文件路径既跨越多行,又需要是原始字符串。我该怎么做呢? 这有效: 但是由于某些原因,这不是: 为什么只有一个反斜杠? 问题答案: 您需要在每个字符串文字上加一个前缀 否则,第一部分将被解释为原始字符串文字,但字符串的下一

  • 我想从多个单词打印第一个字符,这个单词来自api,像DisplayName:arwa othman。我想打印(a)和(o)这封信。有人能帮我吗??