用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)
1. 打印等腰三角形
文章图片
lines = int(input("输入要打印的行数:"))
for i in range(lines):
for j in range(0, lines - i):
print(end=" ")
for k in range(2 * i + 1):
print("*", end="")
print()
执行结果如下图:
文章图片
2. 打印菱形
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
print('请输入奇数')
import sys
sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
print(" " * (half_lines - i), end="")
print("*" * (2 * i + 1))
# 打印下半
for i in range(half_lines - 1):
print(" " * (i + 2), end="")
print("*" * (lines - 2 - 2 * i))
【用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)】执行结果如下图:
文章图片
3. 打印空心菱形
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
print('请输入奇数')
import sys
sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
print(" " * (half_lines - i), end="")
if i == 0:
print("*")
else:
print("*", end="")
print(" " * (2 * i - 1), end="")
print("*")
# 打印下半
for i in range(half_lines - 1):
print(" " * (i + 2), end="")
if i == half_lines - 2:
print("*")
else:
print("*", end="")
print(" " * (lines - 4 - 2 * i), end="")
print("*")
执行结果如下图:
文章图片
4. 打印近似圆
radius = int(input("请输入半径: "))
for i in range(2 * radius + 1):
half = round((radius ** 2 - (radius - i) ** 2) ** 0.5)
print("" * (radius - half), end="")
print("*", end="")
print("" * half * 2, end="")
print("*")
执行结果如下图所示:
文章图片
5. 附加
文章图片
lines = int(input("请输入一半的行数: "))
# 打印上半
for i in range(lines):
print("-" * (lines * 2 - 2 - 2 * i), end="")
my_list = []
for j in range(i + 1):
my_list.append(chr(96 + lines - j))
for j in range(i):
my_list.append(chr(ord(my_list[-1]) + 1))
print('-'.join(my_list), end="")
print("-" * (lines * 2 - 2 - 2 * i))
# 打印下半
for i in range(lines - 1):
print("-" * (2 * (i + 1)), end="")
# 换一种方式初始化list列表
my_list = [chr(96 + lines - j) for j in range(lines - 1 - i)]
for j in range(lines - 2 - i):
my_list.append(chr(ord(my_list[-1]) + 1))
print('-'.join(my_list), end="")
print("-" * (2 * (i + 1)))
执行结果如下图:
文章图片
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 涉毒患者(新诗)
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询