Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.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_String - Fatal编程技术网

Python 在每一连续行中向字符串添加更多字符的最短方法

Python 在每一连续行中向字符串添加更多字符的最短方法,python,string,Python,String,我想写作 Wow! Wow!! Wow!!! Wow!!!! ... etc 以尽可能简单的方式 print "Wow%s\n"%"!"*3 在没有循环的情况下尽可能接近(但不会添加感叹号) 如果在python中没有循环就无法做到这一点,我很好奇是否有一种语言允许它 使用和生成器表达式(无法避免循环) 如果你真的想避免使用关键字 >>> n = 4 >>> word = "Wow" >>> symb = "!" >>>

我想写作

Wow!
Wow!!
Wow!!!
Wow!!!!
... etc
以尽可能简单的方式

print "Wow%s\n"%"!"*3
在没有循环的情况下尽可能接近(但不会添加感叹号)

如果在python中没有循环就无法做到这一点,我很好奇是否有一种语言允许它

使用和生成器表达式(无法避免循环)


如果你真的想避免使用
关键字

>>> n = 4
>>> word = "Wow"
>>> symb = "!"
>>> print("\n".join(map(lambda x:x[0]+x[1],zip([word]*(n-1),map(lambda i:symb*i,range(1,n))))))
Wow!
Wow!!
Wow!!!
使用和生成器表达式(无法避免循环)


如果你真的想避免使用
关键字

>>> n = 4
>>> word = "Wow"
>>> symb = "!"
>>> print("\n".join(map(lambda x:x[0]+x[1],zip([word]*(n-1),map(lambda i:symb*i,range(1,n))))))
Wow!
Wow!!
Wow!!!

如果没有某种循环,您将无法做到这一点,因为您需要将感叹号的数量从1更改为无穷大,为此您需要一个循环

不过,您可以在不亲自编写循环的情况下执行此操作:

["Wow" + '!'*n for n in range(500000000)]

这里仍然有一个循环。

如果没有某种循环,您将无法执行此操作,因为您需要将感叹号的数量从1更改为无穷大,为此您需要一个循环

不过,您可以在不亲自编写循环的情况下执行此操作:

["Wow" + '!'*n for n in range(500000000)]

其中仍然有一个循环。

您需要将格式字符串括起来,如下所示:

print "Wow%s\n" % ("!"*3)

您需要将格式字符串括起来,如下所示:

print "Wow%s\n" % ("!"*3)

“最简单”的定义是什么?指定上述输出的最少字符数。最好没有环,但没有对他们不利!我能找到的最短信息:
打印'\n'。加入('Wow!'+'!'*I范围(4))
谢谢提醒。我很难在你的答案和zmbq的答案之间做出决定(两者都是向上投票的),然后我被迫返回到工作台上,并且有几天无法使用堆栈。@user391339 Np,zmbq的ans使用串联。我之所以使用
格式
,只是因为它是推荐的(因为我已经习惯了)。我提供的另一种选择只是为了好玩而不是为了使用。您对“最简单”的定义是什么?指定上述输出的最少字符数。最好没有环,但没有对他们不利!我能找到的最短信息:
打印'\n'。加入('Wow!'+'!'*I范围(4))
谢谢提醒。我很难在你的答案和zmbq的答案之间做出决定(两者都是向上投票的),然后我被迫返回到工作台上,并且有几天无法使用堆栈。@user391339 Np,zmbq的ans使用串联。我之所以使用
格式
,只是因为它是推荐的(因为我已经习惯了)。我提供的另一种选择只是为了好玩,而不是被使用。避免关键字for的好技巧!OP应该知道那里仍然有一个循环,在
[word]*(n-1)
@zmbq中,到处都隐藏着循环!(sssh,不要告诉OP):DNice技巧避免使用for关键字!OP应该知道那里仍然有一个循环,在
[word]*(n-1)
@zmbq中,到处都隐藏着循环!(嘘,别告诉OP):D