python数字华容道算法_Python 3*3数字华容道源代码
from random import choice # 导入choice函数
from os import system # 导入system函数
from time import sleep # 导入等待函数
won = 0 # 清空成功判断
start = False # 清空开始判断
puzzle = [1,2,3,4,5,6,7,8," "] # 初始化棋盘
def showpuzzle() : # 定义显示棋盘
system("clear") # 清屏
print(puzzle[0],puzzle[1],puzzle[2]) # 第1行
print(puzzle[3],puzzle[4],puzzle[5]) # 第2行
print(puzzle[6],puzzle[7],puzzle[8]) # 第3行
def move(direct) : # 定义移动函数
if direct == "W" or direct == "w" : # w向上
if puzzle[0] == " " :
puzzle[0] = puzzle[3]
puzzle[3] = " "
elif puzzle[1] == " " :
puzzle[1] = puzzle[4]
puzzle[4] = " "
elif puzzle[2] == " " :
puzzle[2] = puzzle[5]
puzzle[5] = " "
elif puzzle[3] == " " :
puzzle[3] = puzzle[6]
puzzle[6] = " "
elif puzzle[4] == " " :
puzzle[4] = puzzle[7]
puzzle[7] = " "
elif puzzle[5] == " " :
puzzle[5] = puzzle[8]
puzzle[8] = " "
elif start :
print("不能操作")
sleep(0.5)
elif direct == "S" or direct == "s" : # s向下
if puzzle[3] == " " :
puzzle[3] = puzzle[0]
puzzle[0] = " "
elif puzzle[4] == " " :
puzzle[4] = puzzle[1]
puzzle[1] = " "
elif puzzle[5] == " " :
puzzle[5] = puzzle[2]
puzzle[2] = " "
elif puzzle[6] == " " :
puzzle[6] = puzzle[3]
puzzle[3] = " "
elif puzzle[7] == " " :
puzzle[7] = puzzle[4]
puzzle[4] = " "
elif puzzle[8] == " " :
puzzle[8] = puzzle[5]
puzzle[5] = " "
elif start :
print("不能操作")
sleep(0.5)
elif direct == "A" or direct == "a" : # a向左
if puzzle[0] == " " :
puzzle[0] = puzzle[1]
puzzle[1] = " "
elif puzzle[1] == " " :
puzzle[1] = puzzle[2]
puzzle[2] = " "
elif puzzle[3] == " " :
puzzle[3] = puzzle[4]
puzzle[4] = " "
elif puzzle[4] == " " :
puzzle[4] = puzzle[5]
puzzle[5] = " "
elif puzzle[6] == " " :
puzzle[6] = puzzle[7]
puzzle[7] = " "
elif puzzle[7] == " " :
puzzle[7] = puzzle[8]
puzzle[8] = " "
elif start :
print("不能操作")
sleep(0.5)
elif direct == "D" or direct == "d" : # d向右
if puzzle[1] == " " :
puzzle[1] = puzzle[0]
puzzle[0] = " "
elif puzzle[2] == " " :
puzzle[2] = puzzle[1]
puzzle[1] = " "
elif puzzle[4] == " " :
puzzle[4] = puzzle[3]
puzzle[3] = " "
elif puzzle[5] == " " :
puzzle[5] = puzzle[4]
puzzle[4] = " "
elif puzzle[7] == " " :
puzzle[7] = puzzle[6]
puzzle[6] = " "
elif puzzle[8] == " " :
puzzle[8] = puzzle[7]
puzzle[7] = " "
elif start :
print("不能操作")
sleep(0.5)
else :
print("请输入正确的操作")
sleep(0.9)
for i in range(10000) : # 打乱棋盘,数字越高打乱程度越高
move(choice(["w","s","a","d"])) # 随机方向打乱
print("3*3华容道")
print("#####")
print("输入w向上移,输入s向下移,输入a向左移,输入d向右移,一次可输入多操作,如ww")
input("回车开始,一定有解") # 等待回车
start = True # 设置已开始
while won == 0 :
showpuzzle() # 显示棋盘
run = input() # 询问操作
for i in range(len(run)) : # 重复每一项
move(run[i])
if puzzle == [1,2,3,4,5,6,7,8," "] : # 如果棋盘是初始样子为成功
showpuzzle()
print("成功!")
won = 1 # 设置已成功
python数字华容道算法_Python 3*3数字华容道源代码相关推荐
- python里数字怎么表示_Python 中的数字—Python 学习笔记
今天讲一下 Python 中六种标准数据类型之一:数字. 整数 整数可以执行加减乘除运算,+代表加法, -代表剪法, *代表乘法./代表除法, %代表求余数: >>> 1+2 3 & ...
- python输入数字并求和_Python如何输入数字并求和
输入数字并求和作为Python基础知识,又难倒了一批小伙伴.今天我们以案例为分析,帮助大家更好的理解和运用. 以下实例为通过用户输入两个数字,并计算两个数字之和: # -*- coding: UTF- ...
- python正则表达式匹配数字或者逗号_python正则表达式去掉数字中的逗号(python正则匹配逗号)...
分析 数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,*** 正则式[a-z]+,[a-z]? import re sen = "abc,123,456,789,mnp ...
- python求素数算法_Python程序最多可计算n个质数(使用不同算法)
python求素数算法 There are various methods through which we can calculate prime numbers upto n. 我们可以通过多种方 ...
- python k近邻算法_python中的k最近邻居算法示例
python k近邻算法 K最近邻居(KNN) (K-Nearest Neighbors (KNN)) KNN is a supervised machine learning algorithm t ...
- python扫雷 高级算法_Python玩转算法—扫雷
此题来自LeetCode上的一道难度为Medium的题,说是有一张玩到一半的扫雷地图,接下来给你指定一个点击位置,让你预测点击之后,地图将发生怎么样的变化.看到这道题,瞬间让我想起了以前玩扫雷的日子, ...
- python 排列组合算法_python算法-排列组合
原博文 2018-05-07 18:27 − 排列组合 一.递归 1.自己调用自己 2.找到一个退出的条件 二.全排列:针对给定的一组数据,给出包含所有数据的排列的组合 1:1 1,2:[[1,2], ...
- python文字识别算法_Python图像处理之图片文字识别(OCR)
OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...
- python人脸识别算法_python人脸算法
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 若图片中包含多张人脸,只选取其中人脸面积最大的人脸. 支持png.jpg.jpe ...
最新文章
- LINE: Large-scale Information Network Embedding
- Delphi的单元文件详解
- VB6.0连接MySQL数据库
- 解决PHP下载文件名中文乱码
- [BUUCTF-pwn]——cmcc_pwnme1
- python 让异常名称显示出来
- Windows Server 2008 WDS实现跨网段实现远程部署
- SAP系统和微信集成的系列教程之六:如何通过OAuth2获取微信用户信息并显示在SAP UI5应用中
- 中国剩余定理及其拓展
- 计算机显卡960,2015显卡开年之作!NVIDIA GTX960首测
- 爬虫工具和服务——Python之外的选择
- [LOJ 6485]LJJ 学二项式定理
- Altium Designer AD 2019最新封装库下载,原理图库PCB库
- OV9712+3518EV200
- WIN7共享WIFI上网
- 手游运营数据分析指标百科全说
- 资深电竞发烧友走心盘点,五款高续航游戏低延迟蓝牙耳机分享
- SQL中where in的用法
- 高效数据同步工具DataX的使用
- 思科、华为、华三模拟器大比拼,你最爱哪一款?(附模拟器下载)