2012-04-25 131 views
0

我似乎被难住了。不幸的是,我甚至不知道如何解释我想要的。对于循环中的n次迭代,我想打印一个字母n次。下面是一些入门代码...Python,在第n次迭代中打印一个字母n次

n = 1 
max = 3 

letters = string.lowecase 
letters.split 

while n <= max: 
    for letter in letters: 
     print letter #n times 
    n = n + 1 

我想直到结束:

一个 b ... ž AA ... ZZ AAA ... zzz

+0

这个问题已经回答了,所以只是一个说明:遍历范围的pythonic方法是'for n in xrange(max):...',那么你不需要最后一行'n = n + 1'。 – bereal 2012-04-25 02:58:47

+1

这很好地被[标准Python教程](http://docs.python.org/tutorial/introduction.html#strings)所覆盖。 – jogojapan 2012-04-25 02:58:52

+0

啊,我现在理解xrange()。我缺乏从标准Python教程中找出需要的词汇。 – ktflghm 2012-04-25 03:02:51

回答

4
for i in range(1, 10): 
    for j in "abcdefghijklmnopqrstuvwxyz": 
     print j * i 
+0

真棒解决方案。 – ktflghm 2012-04-25 03:04:47

4

字符串可以相乘。

# Prints the letters 
for letter in letters: 
     print letter 

# Prints each letter 3 times: 
for letter in letters: 
    for i in xrange(3): 
     print letter 
0
n = 1 
max = 3 

letters = string.lowecase 
letters.split 

while n <= max: 
    for letter in letters: 
     print letter * n 
    n = n + 1 

乘用绳子

1

使用另一个循环工作

2
>>> import string 
>>> letters = string.ascii_lowercase 

>>> print("".join(x*n for n in range(1,4) for x in letters )) 

abcdefghijklmnopqrstuvwxyzaabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzzaaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz 
+0

+1:用于'ascii_lowercase' – jfs 2013-01-23 09:20:18

0

的其他方式:

>>> 'foo' * 4 
'foofoofoofoo'