如何打印递增字符

时间:2017-03-23 22:17:20

标签: python

在Python中,我正在尝试构建一个函数,它将在一行上打印一个字母和一系列随机数。打印的行数将在1-10之间,具体取决于用户输入。最终结果应如下所示:

A 10 11 15 20 40 (actual numbers will vary, between 1-69)
B 12 15 19 30 45 
etc..

我的问题是要打印第一个字符。我似乎无法找到增加角色的方法,以便下一行是B,下一行是C,等等。

这就是我所拥有的:

def generateLetter():
    value = 'A'
    newVar = (chr(ord(value[0])+1))
    value = newVar
    print(value)

def main():
    howMany = input('print how many lines?')
    count = 0
    while howMany > 10:
        if count == 3:
            break;
            count +=1
    if howMany <=10:
        print ('now printing ', howMany, 'lines')
    for each in range (howMany):
        generateLetter(),
        #another function to generate random string of numbers

目前,上述结果如下:

B
5 6 7 8 9
B
10 11 12 13 14
etc...

我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您允许使用全局变量,则可以将值隐藏在那里。此外,请不要增加它,直到您使用&#34; A&#34;在第一次通话中。通常,这是通过Class变量而不是全局变量来完成的,但是你没有围绕它的类。

value = 'A'
def generateLetter():
    global value
    print(value)
    value = (chr(ord(value[0])+1))

答案 1 :(得分:0)

您在函数generateLetter中的代码始终打印B。您需要将指示当前步骤的参数传递给函数。

试试这个:

def generateLetter(i):
    print(chr(ord('A') + i))

def main():
    ...
    for each in range(howMany):
        generateLetter(each)
        ...