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数字华容道源代码相关推荐

  1. python里数字怎么表示_Python 中的数字—Python 学习笔记

    今天讲一下 Python 中六种标准数据类型之一:数字. 整数 整数可以执行加减乘除运算,+代表加法, -代表剪法, *代表乘法./代表除法, %代表求余数: >>> 1+2 3 & ...

  2. python输入数字并求和_Python如何输入数字并求和

    输入数字并求和作为Python基础知识,又难倒了一批小伙伴.今天我们以案例为分析,帮助大家更好的理解和运用. 以下实例为通过用户输入两个数字,并计算两个数字之和: # -*- coding: UTF- ...

  3. python正则表达式匹配数字或者逗号_python正则表达式去掉数字中的逗号(python正则匹配逗号)...

    分析 数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,*** 正则式[a-z]+,[a-z]? import re sen = "abc,123,456,789,mnp ...

  4. python求素数算法_Python程序最多可计算n个质数(使用不同算法)

    python求素数算法 There are various methods through which we can calculate prime numbers upto n. 我们可以通过多种方 ...

  5. python k近邻算法_python中的k最近邻居算法示例

    python k近邻算法 K最近邻居(KNN) (K-Nearest Neighbors (KNN)) KNN is a supervised machine learning algorithm t ...

  6. python扫雷 高级算法_Python玩转算法—扫雷

    此题来自LeetCode上的一道难度为Medium的题,说是有一张玩到一半的扫雷地图,接下来给你指定一个点击位置,让你预测点击之后,地图将发生怎么样的变化.看到这道题,瞬间让我想起了以前玩扫雷的日子, ...

  7. python 排列组合算法_python算法-排列组合

    原博文 2018-05-07 18:27 − 排列组合 一.递归 1.自己调用自己 2.找到一个退出的条件 二.全排列:针对给定的一组数据,给出包含所有数据的排列的组合 1:1 1,2:[[1,2], ...

  8. python文字识别算法_Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...

  9. python人脸识别算法_python人脸算法

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 若图片中包含多张人脸,只选取其中人脸面积最大的人脸. 支持png.jpg.jpe ...

最新文章

  1. LINE: Large-scale Information Network Embedding
  2. Delphi的单元文件详解
  3. VB6.0连接MySQL数据库
  4. 解决PHP下载文件名中文乱码
  5. [BUUCTF-pwn]——cmcc_pwnme1
  6. python 让异常名称显示出来
  7. Windows Server 2008 WDS实现跨网段实现远程部署
  8. SAP系统和微信集成的系列教程之六:如何通过OAuth2获取微信用户信息并显示在SAP UI5应用中
  9. 中国剩余定理及其拓展
  10. 计算机显卡960,2015显卡开年之作!NVIDIA GTX960首测
  11. 爬虫工具和服务——Python之外的选择
  12. [LOJ 6485]LJJ 学二项式定理
  13. Altium Designer AD 2019最新封装库下载,原理图库PCB库
  14. OV9712+3518EV200
  15. WIN7共享WIFI上网
  16. 手游运营数据分析指标百科全说
  17. 资深电竞发烧友走心盘点,五款高续航游戏低延迟蓝牙耳机分享
  18. SQL中where in的用法
  19. 高效数据同步工具DataX的使用
  20. 思科、华为、华三模拟器大比拼,你最爱哪一款?(附模拟器下载)

热门文章

  1. solidity的call跟delegatecall
  2. 直播与知识变现平台的现状分析和主流产品调研
  3. Type-C、PD原理
  4. Vegeta靶机总结
  5. 对于缠论的编排和解读过程
  6. 如何使用极速PDF将文档以图片格式导出?
  7. 苹果笔记本计算机属性在哪,苹果电脑的系统偏好设定在哪里
  8. jhat命令(Java Heap Analyse Tool)
  9. android启动速度测试,如何测试Android应用的启动速度?
  10. 美国cs master两年总结以及毕业回国