我需要帮助来做这件事。我们需要创建一个输出必须与此代码相反的代码。
样本代码(我们的基础):
line = 1
while line <= 5:
number = 1
while number <= line:
print(number, end = '')
number = number + 1
line = line + 1
print('')输出:
1
12
123
1234
12345它必须是:
12345
1234
123
12
1你能帮我吗?
发布于 2022-03-17 06:39:36
写金字塔有几种方法。
考虑到使用while的要求
from functools import reduce
def inverse_pyramid(lines: int) -> None:
while lines:
xs = reduce(lambda x, y: str(x) + str(y), range(1, lines + 1))
print(xs)
lines -= 1如何不使用循环:
from functools import reduce
def recursive_inverse_pyramid(lines: int) -> None:
if lines:
xs = reduce(lambda x, y: str(x) + str(y), range(1, lines + 1))
print(xs)
recursive_inverse_pyramid(lines - 1)如何使用map而不是还原:
def pyramid_mapper(lines: int) -> None:
if lines:
xs = map(str, range(1, lines + 1))
print(''.join(xs))
pyramid_mapper(lines - 1)如何理解:
def pyramid_comprehension(lines: int) -> None:
while lines:
xs = (str(x) for x in range(1, lines + 1))
print(''.join(xs))
lines -= 1https://stackoverflow.com/questions/71507598
复制相似问题