在Python中,你可以使用多种方法来绘制菱形。以下是几种常见的方法:
方法一:使用星号(*)和空格
rows = int(input("请输入菱形边长:"))
for i in range(rows):
for j in range(rows - i - 1):
print(" ", end="")
for k in range(2 * i + 1):
print("*", end="")
print()
for i in range(rows - 2, -1, -1):
for j in range(rows - i - 1):
print(" ", end="")
for k in range(2 * i + 1):
print("*", end="")
print()
方法二:使用字符串中心对齐
s = "*"
for i in range(1, 8, 2):
print((s * i).center(7))
for i in reversed(range(1, 6, 2)):
print((s * i).center(7))
方法三:定义函数绘制菱形
def print_diamond(n):
for i in range(n):
print(" " * (n - i - 1) + "*" * (2 * i + 1))
for i in range(n - 2, -1, -1):
print(" " * (n - i - 1) + "*" * (2 * i + 1))
方法四:使用turtle库
import turtle
t = turtle.Turtle()
设置初始位置
t.penup()
t.goto(-150, 150)
t.pendown()
绘制菱形
for i in range(4):
t.forward(200)
t.right(90)
t.forward(100)
t.right(90)
t.forward(200)
t.right(90)
t.forward(100)
隐藏画笔
t.hideturtle()
结束绘制
turtle.done()
方法五:使用输入的列数
rows = int(input("输入列数:"))
i = j = k = 1
print("打印空心等菱形,这里去掉if-else条件判断就是实心的")
for i in range(rows):
for j in range(rows - i - 1):
print(" ", end="")
for k in range(2 * i + 1):
if k == 0 or k == 2 * i - 2:
print("*", end="")
else:
print(" ", end="")
print()
for i in range(rows):
for j in range(i):
print(" ", end="")
for k in range(2 * (rows - i) - 1):
if k == 0 or k == 2 * (rows - i) - 2:
print("*", end="")
else:
print(" ", end="")
print()
以上是几种绘制菱形的方法,你可以选择适合你的方法进行尝试。