我有这个简单的金字塔。它的工作原理如下: 1.您输入一个数字和/或多个字符 2.您将收到一张打印件,显示您的号码乘以该字符。该表将显示为金字塔。
我正在考虑获取字符串的Len(),然后我不知道我还能做些什么才能使它正确对齐。
Problem : If you do 5 G
G
GG
GGG
GGGG
GGGGG
But if you do 5 GG
GG
GGGG
GGGGGG
GGGGGGGG
GGGGGGGGGG
我的好处似乎没有为此做到这一点。
import sys
def pyramide(nbr, char):
resultat = ''
for i in range(0, nbr+1):
resultat += (nbr * str('') + int(i) * str(char) + "\n").rjust(nbr+1)
return resultat
def main():
nbr = int(sys.argv[1])
char = (sys.argv[2])
message = pyramide(nbr, char)
print(message)
if __name__ == "__main__":
main()
答案 0 :(得分:0)
我首先添加预设,然后添加字符数量:
def pyramide(size, char):
resultat = ''
for i in range(0, size):
resultat += (' ' * (size-i)) + (char * int(i*2+1)) + '\n'
return resultat
答案 1 :(得分:0)
您也可以使用format
居中:
def pyramide(nbr, char):
resultat = ''
for i in range(0, nbr+1):
chars = char * int(i*2+1)
resultat += '{:^30}'.format(chars) + '\n'
return resultat
https://docs.python.org/3/library/string.html#format-examples