请教各位怎么实现这个程序 刚刚接触Python 麻烦给我指点一下迷津
给个简单的解法,你参考一下吧:
code = 'abcdefghijklmnopqrstuvwxyz'
n = int(input("请输入一半的行数:"))
lst = []
for i in range(n*2-1):
line = "-"*abs(n-1-i)*2+code[n-1]+'-'
for j in range(i*2):
line += code[abs(n-2-j)]+'-'
line += "-"*(abs(n-1-i)*2)
lst.append(line[:-1])
if i<n:
print(lst[i])
else:
print(lst[n*2-i-2])
def run():
import string
letter = string.ascii_lowercase
num = int(input("请输入一半的行数:")) # 获取行数
line_size = num * 2 * 2 - 3
init_line_content = []
for i in range(num - 1, -1, -1):
el = letter[i]
if len(init_line_content) == 0:
init_line_content.append(el)
continue
old_el = init_line_content[num - i - 2]
old_el_center = len(old_el) // 2
init_line_content.append(f"{old_el[:old_el_center + 1]}-{el}-{old_el[old_el_center::-1]}")
init_line_content.extend(init_line_content[-2::-1])
for i in init_line_content:
print(i.center(line_size, '-'))
pass