python - 如何在每行中打印一个字符串,从行的第一行开始有一些空格?
问题描述
我没有写清楚的主题,因为我不知道该写什么,首先抱歉。
我想要达到的是:
a
a
a
a
a
a
a
a
a
有了for
循环,我想我可以做到这一点,但我尝试的是完全错误的。
解决方案
您可以递归地执行此操作:
def print_angle(s, start, end, direction):
indent = " "*start
print(f"{indent}{s}")
if start < end-1 and direction:
print_angle(s, start+1, end, 1)
elif start > 0:
print_angle(s, start-1, end, 0)
print_angle('a', 0, 5, 1)
这打印:
a
a
a
a
a
a
a
a
a
这里的想法是:
1.传递所需的字符以打印 -在本例中为a 。
2.通过起点 - 在这种情况下为 0 个缩进。
3.通过终点 - 总共 5 走。
4.传球方向 - 1 向上,0 向下。
5.递归向上直到到达终点,保持方向,最初向上。
6.递归向下直到到达 0 并退出。
推荐阅读
- php - 如何编写一个处理多个类动作的函数
- android - 条目名称“res/color/material_on_surface_disabled.xml”发生冲突
- python - Plotly:如何避免使用 go.Heatmap 对 x 和 y 类别进行分组?
- javascript - 如何使用 Angular 中的 Tab 键从 mat 下拉列表中选择一个选项
- c++ - 在 C++ 上运行简单的二进制搜索时遇到问题
- javascript - 如何在查询函数中返回数据
- phpmyadmin - raspbian busetr 上的 phpmyadmin 无法登录
- oracle - Oracle SYSDBA 连接
- rust - 如何强制 `async_std` 任务在 rust 的单个线程上运行?
- azure - 使用 Azure 前门时缺少 UserId 属性的应用程序见解