python怎么打印9宫格游戏
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"python怎么打印9宫格游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python怎么打印9宫格游戏"吧!相信大家都做过九宫格的游
千家信息网最后更新 2025年01月19日python怎么打印9宫格游戏
本篇内容主要讲解"python怎么打印9宫格游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python怎么打印9宫格游戏"吧!
相信大家都做过九宫格的游戏,规则是要求填数字1-9在九个方格内,使横竖斜相加和相等。只填九个那可能有些简单,但是填25个,填49个,81个等奇数个那,这时候就要求我们去找其中的规律。找到规律又要如何用代码实现?
希望大家看代码之前,先来看下这个口诀:
首居上行正中央,依次斜向右上方,上出框时往下写,右出框时左边放,排重退回下格填,右上排重一个样。
释义:1要放在第一行的正中央,每次按依次向上的格式去填值,如果超出上边框就把它竖直往下移到最后一行,如果超出右边框就把它横着移动到最左边,在移动过程中如果要移动的地方已经存在值,就把这个放到前一个数字的下面,如果上边框和右边框都超过啦,就和排重一样,也把这个放到前一个数字的下面。过程如下图所示
代码如下:
#!/usr/bin/env python3#-*- coding:utf-8 -*-num = int(input('请输入一个奇数:'))# 定义一个长为num的列表high = [[0] * num ]# 先定义一个num*num的一个列表,之后在往里面赋值for i in range(num-1): high += [[0]*num]n = 1# 先确定第一行中间值为1high[0][num//2] = nx = 0y = num//2# 依次向high列表赋值从2开始for j in range(1,num*num): # x表示第几行,y表示第几列,j表示x,y坐标的值 j = j + 1 x = x - 1 y = y + 1 # 判断符合哪几种可能性 if y > (num - 1) and x < 0 : x = x + 2 y = y - 1 high[x][y]=j elif x < 0 : x = num - 1 high[x][y]=j elif y > num-1 : y = 0 high[x][y]=j else: if high[x][y] == 0 : high[x][y]=j elif high[x][y] != 0 : x = x + 2 y = y - 1 high[x][y]=j# 依次把high列表中值打印出来for a in range(num): for b in range(num): # rjust表示输出01,02,03等这种格式,可看我上篇博文介绍 print( str(high[a][b]).rjust(2,'0'),end=' ') print()
到此,相信大家对"python怎么打印9宫格游戏"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
一行
代码
数字
移动
中央
内容
右边
奇数
格式
规律
边框
过程
学习
实用
更深
一个样
上篇
中值
九宫
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器408
有关网络安全的手抄报初中
网络安全媒介素养
淮南联大计算机网络技术
武汉恒山系列鲲鹏服务器
河北电商软件开发哪家便宜
sql 查看数据库
snc网络技术
中国各省消费数据库
网络安全文明举报
计算机网络技术是什么院系
网络技术部个人简历怎么写
战队服务器连接出现波动
手写网络安全宣传标语
互联网网络技术咨询软件
艾尔登法环为什么登不了服务器
怎么创建学生信息表数据库
软件开发什么时候可以验收
导入云数据库
襄阳网络安全知识
steam 刷不出服务器
医疗软件开发创业
非涉密网络安全保密隐患有哪些
vfp数据库系统全套资料及流程
酒店项目数据库换房表
两个服务器同步备份
与计算机网络技术相关的证书
金铲铲服务器满了登不上号
学通信可以做嵌入式软件开发吗
数据库安全案列