我想在直角三角形中排列字母。一个例子是:输入="1"=_A_
,输入= =_A_n_A_B_n_A_B_C_
"3"。这是我到目前为止所尝试的:-
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_
我只需要在每个字母之后和之前单个下划线。请帮助
尝试替换
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('_')
使用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_
可以。string
模块可以很有帮助。ascii_uppercase
包含所有大写字母。所以你可以对字符串使用索引,然后使用str.join()
from string import ascii_uppercase
for i in [1,2,3]:
print(f"_{'_'.join(ascii_uppercase[:i])}_")