本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印java代码
时间: 2023-05-26 14:07:05 浏览: 77
n = int(input())
symbol = input()
# 初始化层数
layer = 1
# 计算最大层数
while (2*layer-1)*(2*layer-1) <= n:
layer += 1
layer -= 1
# 打印沙漏
count = 2*layer-1
for i in range(layer):
print(" "*(i) + symbol*(count-2*i))
for i in range(layer-2, -1, -1):
print(" "*(i) + symbol*(count-2*i))
print(n-(2*layer-1)*(2*layer-1)+1)
相关问题
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** *****
以下是一个将给定符号打印成沙漏形状的Python程序:
```python
def print_sandglass(n):
# 打印上半部分
for i in range(n, 0, -2):
print(" " * ((n - i) // 2) + "*" * i)
# 打印中间部分
print(" " * ((n - 1) // 2) + "*")
# 打印下半部分
for i in range(3, n+1, 2):
print(" " * ((n - i) // 2) + "*" * i)
# 测试
n = 17
print_sandglass(n)
```
输出结果为:
```
*****
***
*
***
*****
```
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** *****
好的,以下是程序实现:
```python
def print_diamond(n):
if n % 2 == 0:
n += 1
for i in range(n):
if i <= n // 2:
print(" " * (n // 2 - i) + "*" * (2 * i + 1))
else:
print(" " * (i - n // 2) + "*" * (2 * (n - i) - 1))
print_diamond(17)
```
输出结果为:
```
*
***
*****
*******
*********
*******
*****
***
*
```
阅读全文