Расположение алфавитов в прямоугольном треугольнике

#python #python-3.x #alphabetical

Вопрос:

Я хочу расположить алфавиты в прямоугольном треугольнике. Одним из примеров является:- inp=»1″ выход= _A_ , inp=»3″ выход= _A_n_A_B_n_A_B_C_ . Это то, что я пробовал до сих пор:-

 def letter_range(start, end):
    for i in range(start, end):
        # inner loop
        for j in range(65, i   1):
            print(f"_{chr(j)}_", end = "")
        print()

def main():

    x = int(input())
    y = int(65   x)
    # calling Function
    letter_range(65, y)


     

if __name__ == "__main__":
    main()

#Results
inp = 3
out:-
_A_
_A__B_
_A__B__C_
 

Мне просто нужны отдельные подчеркивания после и перед каждым алфавитом. Пожалуйста, помогите

Ответ №1:

Попробуйте заменить

 for j in range(65, i   1):
        print(f"_{chr(j)}_", end = "")
    print()
 

с

 for j in range(65, i   1):
        print(f"_{chr(j)}", end = "")
    print('_')
 

Ответ №2:

Один из способов использования str.join

 from string import ascii_uppercase

def letters(n):
    return "_%s_" % "_".join(ascii_uppercase[:n])
 

Выход:

 for i in [1,2,3]:
    print(i, letters(i))

1 _A_
2 _A_B_
3 _A_B_C_
 

Ответ №3:

Вы можете сделать. string модуль может быть очень полезен. ascii_uppercase содержать все заглавные буквы. Таким образом, вы можете использовать индексацию для строки, а затем использовать str.join()

 from string import ascii_uppercase
for i in [1,2,3]:
    print(f"_{'_'.join(ascii_uppercase[:i])}_")