Python:如何打印出一定范围的字母表

时间:2016-03-07 08:31:13

标签: python

我正在尝试制作战列舰网格,左侧是数字,顶部是字母。我很困惑你如何打印出一定数量的字母并用python添加它们。对于Python来说,我是一个非常新的初学者。

例如:

    def displayGrid(Rows,Columns):
        output = '| '
        for title in range(97,110):
            output = output + chr(title)
            output = output + ' |'
        print(output)

        for row in range(Rows):
            output = str(row + 1) + '| '
            for col in range(Columns):
                output = output + " | "
            print(output)

    Rows = int(input("Number of rows you want? \n"))
    Columns = int(input("Number of columns you want? \n"))

    displayGrid(Rows, Columns)

我想要它,所以Columns的数量是它打印出的字母数,但我似乎无法弄明白。

4 个答案:

答案 0 :(得分:1)

你的第一个循环(for title in range(97,110):)将始终具有固定长度(110-97 = 13个元素),因此无论你有多少列,你总是会以相同的第一行结束想。

尝试for title in range(97, 97+Columns):

之类的内容

答案 1 :(得分:0)

替换此

    for title in range(97,110):
        output = output + chr(title)
        output = output + ' |'
    print(output)

通过

output = " |" +"|".join([chr(i) for i in range(97,97+Columns)])
print(output)

答案 2 :(得分:0)

您可以通过

访问小写字母
from string import lowercase

实现你的字符串的一个简洁方法是:

result = "| " + " | ".join(lowercase[0:size]) + " |"

答案 3 :(得分:-1)

很少提示 -

  1. 当你有一个iteratable你想要打印并加入某个分隔符时你可以使用join - '|'.join(["a", "b", "c"]) a|b|c

  2. from string import lowercase将为您提供一个字符串(您可以迭代)所有小写字母。

  3. 检查python itertools - https://docs.python.org/2/library/itertools.html