python - 如何在python中打印两个粘着的钻石
问题描述
我想写一个python程序来打印上面的形状(我是python的新手)但是我已经写了单菱形的程序,现在我有一个问题要解决这个问题,你会指导找到算法吗?
* *
*** ***
**********
*** ***
* *
这是单颗钻石:
def Diamond(rows):
n = 0
for i in range(1, rows + 1):
for j in range (1, (rows - i) + 1):
print(end = " ")
while n != (2 * i - 1):
print("*", end = "")
n = n + 1
n = 0
print()
k = 1
n = 1
for i in range(1, rows):
for j in range (1, k + 1):
print(end = " ")
k = k + 1
while n <= (2 * (rows - i) - 1):
print("*", end = "")
n = n + 1
n = 1
print()
rows = int(input())
Diamond(rows)
解决方案
我无聊了,你去吧。
In [36]: def print_diamonds(width, ds):
...: r = width//2
...: for i in range(-r, r+1):
...: print((' '*(abs(i)) + '*'*((r-abs(i))*2+1) + ' '*(abs(i)))*ds)
...:
In [37]: print_diamonds(5, 2)
* *
*** ***
**********
*** ***
* *
推荐阅读
- c# - LibVlcSharp:如何使用 RTSP(动态 StreamMediaInput)流式传输动态帧序列?
- visual-studio-code - VSCode 项目范围内搜索要搜索的文件夹的默认条目
- r - 无法在 Windows 服务器上安装 TinyTeX
- java - 如何在请求正文中获取 lowerCamelCase?
- jinja2 - 无法在 DBT 中的 adapter.get_relation 中使用 Jinja 变量
- html - R - Markdown:在 html 报告中打印 View() 的结果
- android - kotlin 版本 1.3 的 Android 权限问题
- swift - 导航栏内和导航标题下方的 SwiftUI 分段选择器
- python - torch.einsum 的内存使用情况
- outlook - 当我在我的加载项 manifest.xml 中添加“ItemSend”事件处理程序时,在安装加载项时抛出错误