python打印砖石图形
时间: 2023-10-18 07:23:07 浏览: 70
以下是Python代码,用于打印砖石图形:
```
n = int(input("请输入砖石的大小:"))
# 打印上半部分
for i in range(1, n+1, 2):
print(" "*(n-i), end="")
print("*"*i)
# 打印下半部分
for i in range(n-2, 0, -2):
print(" "*(n-i), end="")
print("*"*i)
```
输出示例(当n=5时):
```
请输入砖石的大小:5
*
***
*****
***
*
```
相关问题
python打印钻石图形,对角线相等且为奇数,即用*包含空白的菱形以星号和空格输出钻石图形
好的,下面是 Python 打印钻石图形的代码:
```
n = int(input("请输入一个奇数:"))
for i in range(n):
if i < n // 2 + 1:
print(" " * (n // 2 - i) + "*" * (2 * i + 1))
else:
print(" " * (i - n // 2) + "*" * (2 * (n - i) - 1))
```
这个程序首先让用户输入一个奇数 `n`,然后通过循环逐行打印出钻石图形,上半部分和下半部分分别采用不同的方式打印。
上半部分的第 `i` 行,首先打印空格,数量为 `(n // 2 - i)`,然后打印星号,数量为 `(2 * i + 1)`。
下半部分的第 `i` 行,首先打印空格,数量为 `(i - n // 2)`,然后打印星号,数量为 `(2 * (n - i) - 1)`。
输出结果如下所示(以输入 `n=7` 为例):
```
*
***
*****
*******
*****
***
*
```
给定一个字符,用它构造一个对角线长5个字符的钻石图形。 如下图所示: image.png 输入描述 输入只有一行, 一个字符。 输出描述 该字符构成的钻石图形。 样例输入 1 * 样例输出 1 * *** ***** *** *
要构建一个字符组成的钻石形状,我们首先需要理解其基本结构。这个特定的“钻石”实际上是一个等腰三角形,从顶部到底部逐渐增加字符的数量,然后又从底部开始减少,形成了一个对称的图案。
假设输入字符是 `*` ,我们要生成的钻石如下:
```
*
***
*****
***
*
```
为了生成这样的图案,我们可以分两步来进行:
1. **向上绘制三角形**:从第一行起始点开始,每往下一行就添加更多的空格和字符。例如,在第二行,前半部分将有 1 个空格,中间是 3 个连续的星号。
2. **向下绘制倒置三角形**:在完成向上绘制的步骤之后,我们从第二行开始减去空格数和星号数,直到回到原始的单个星号为止。
下面是具体的算法步骤:
### 上升阶段:
对于每一行 i (从0到floor(n / 2)),计算所需的空格和星号数量:
- 空格数量 = (n - i) - 1
- 星号数量 = 2*i + 1
### 下降阶段:
对于每一行 j (从 n / 2 到 0),计算所需的空格和星号数量:
- 空格数量 = j
- 星号数量 = floor(2*(n-j)-1)
下面提供一段 Python 代码示例来实现这一功能:
```python
def create_diamond(char, size):
# 计算总宽度
total_width = 2 * size - 1
for i in range(size):
# 上升阶段
if i < size:
print(' ' * (size - i - 1) + char * (2 * i + 1))
# 下降阶段
else:
# 减少空格的数量
space_reduction = i - size + 1
# 打印当前行
print(' ' * space_reduction + char * ((total_width - space_reduction * 2)))
# 测试函数
create_diamond('*', 3)
```
这段代码会输出如样例所示的钻石图案。
---
阅读全文