我想写
Wow!
Wow!!
Wow!!!
Wow!!!!
... etc
以最简单的方式。
print "Wow%sn"%"!"*3
是在没有循环的情况下我能接近的(但它没有添加惊呼)。
如果你不能在没有循环的python中做到这一点,我很好奇是否有一种语言可以允许它。
使用join
和生成器表达式(无法避免循环)
>>> print"n".join("Wow{}".format('!'*i) for i in range(1,4))
Wow!
Wow!!
Wow!!!
Wow!!!!
如果你真的想避免for
关键字
>>> 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)]
里面还有一个环。
您需要将格式字符串括起来,如下所示:
print "Wow%sn" % ("!"*3)