python画出九宫格
时间: 2024-12-29 07:26:04 浏览: 6
在Python中,我们可以使用嵌套循环结合字符串拼接的方式来绘制九宫格。这里是一个简单的示例,我们将用`*`字符表示每个单元格:
```python
def draw_nine_box(size=3):
for i in range(1, size + 1):
# 第一行
print('*' * (i * 3) + ' ' * ((size - 1) * 3))
# 各行间的分割线
if i != size:
print('-' * (i * 6) + '-' * ((size - i) * 6))
# 内部的十字线
if i == 2 and size >= 3:
print('|', '*' * 2, '|', sep='', end='')
# 九宫格右下角的数字
print(f'{size}x{size}')
# 调用函数,例如绘制3x3的九宫格
draw_nine_box()
```
运行上述代码,你会看到一个标准的3x3九宫格效果。你可以通过调整`size`参数改变九宫格的大小。
相关问题
用python写出一个九宫格
这里提供一个基于Pygame的九宫格代码。
```
import pygame
# 初始化pygame
pygame.init()
# 设置窗口大小和标题
screen = pygame.display.set_mode((500, 500))
pygame.display.set_caption("九宫格")
# 设置颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GRAY = (128, 128, 128)
# 设置字体
font = pygame.font.SysFont(None, 50)
# 画九宫格
def draw_grid():
# 画横线
for i in range(1, 3):
pygame.draw.line(screen, GRAY, (50, 150 * i), (450, 150 * i), 5)
# 画竖线
for i in range(1, 3):
pygame.draw.line(screen, GRAY, (150 * i, 50), (150 * i, 450), 5)
# 显示数字
def display_number(number, position):
text = font.render(str(number), True, BLACK)
text_rect = text.get_rect(center=position)
screen.blit(text, text_rect)
# 主程序
def main():
# 初始化九宫格数据
board = [[0 for i in range(3)] for j in range(3)]
# 游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# 填充背景色
screen.fill(WHITE)
# 画九宫格
draw_grid()
# 显示数字
for i in range(3):
for j in range(3):
if board[i][j] != 0:
display_number(board[i][j], ((j + 1) * 150 - 75, (i + 1) * 150 - 75))
# 更新屏幕
pygame.display.update()
# 运行程序
if __name__ == "__main__":
main()
```
这个九宫格可以通过鼠标点击来填入数字,可以根据需要进行修改。
python语言编写一个生成九宫格图片的代码
好的,以下是一个生成九宫格图片的Python代码示例:
```python
from PIL import Image, ImageDraw
# 设置每个小格子的大小和九宫格的边长
cell_size = 50
grid_size = cell_size * 3
# 创建空白图像,并创建画布对象
img = Image.new('RGB', (grid_size, grid_size), color='white')
draw = ImageDraw.Draw(img)
# 绘制九宫格的线条
for i in range(2):
line_pos = (cell_size * (i + 1), 0, cell_size * (i + 1), grid_size)
draw.line(line_pos, fill='black')
line_pos = (0, cell_size * (i + 1), grid_size, cell_size * (i + 1))
draw.line(line_pos, fill='black')
# 保存生成的九宫格图片
img.save('sudoku.png')
```
这段代码使用了Python的Pillow库来创建和操作图片。它首先设置了每个小格子的大小和九宫格的边长,然后创建了一个空白的图像,并创建了一个画布对象。接着,使用循环来绘制九宫格的线条,最后保存生成的九宫格图片。你可以根据需要对这段代码进行修改和扩展。
阅读全文