初级
打印沙漏
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(n, c):
n, c = int(n), str(c).strip()
# 找最大奇数k使得k^2 <= n
k = 1
while (k + 2) ** 2 <= n:
k += 2
rows = []
w = k
while w >= 1:
spaces = ' ' * ((k - w) // 2)
rows.append(spaces + c * w)
w -= 2
w = 3
while w <= k:
spaces = ' ' * ((k - w) // 2)
rows.append(spaces + c * w)
w += 2
for row in rows:
print(row)
print(n - k * k)
示例
输入
solve(19, '*')
期望输出
*** * *** 10
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199