我想写
Wow!
Wow!!
Wow!!!
Wow!!!!
... etc
以最简单的方式实现。
print "Wow%s\n"%"!"*3
我可以在没有循环的情况下接近(但它不会添加感叹号)。
如果你不能在没有循环的python中做到这一点,我很好奇是否有一种允许它的语言。
答案 0 :(得分:4)
使用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 :(得分:2)
如果没有某种循环,你将无法做到这一点,因为你需要将感叹号的数量从1改为无穷大,为此你需要一个循环。
你可以自己编写循环,但是:
["Wow" + '!'*n for n in range(500000000)]
那里还有一个循环。
答案 2 :(得分:0)
您需要将您的格式字符串括起来:
print "Wow%s\n" % ("!"*3)