Python学习笔记函数之建模
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
在有因特网之前,人们也有办法与世界另一边的某人下一盘国际象棋。每个棋手在自己家里放好一个棋盘,然后
轮流向对方寄出明信片,描述每一着棋。要做到这一点,棋手需要一种方法,无二义地描述棋盘的状态,以及他们的想法。
我们使用一个,比国际象棋简单一点的游戏:井字棋,来描述建模。井字棋盘看起来想一个大的井字符号(#),
有9个空格,可以包含X、O或空。要用字典表示棋盘,可以为每个空格分配一个字符串键,如图所示:
可以用字符串值来表示,棋盘上每个空格有什么:'X'、'O'或''(空格字符)。因此,需要存储9个字符串。
可以用一个字典来做这事,带有top-R的字符串表示右上角,带有top-L的字符串表示左下角,带有键mid-Mde
的字符串表示中间,以此类推。
这个字典就是表示井字棋盘的数据结构。将这个字典表示的棋盘保存在名为theBoard的变量中。
#------------------------------------------------我是可耻的分割线-------------------------------------------
示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # # -*- coding:utf-8 -*- # Autor: Li Rong Yang theBoard = { 'top-L' :' ',' top - M ':' ',' top - R ':' ', 'mid-L' :' ',' mid - M ':' ',' mid - R ':' ', 'low-L' :' ',' low - M ':' ',' low - R ':' '} def print_theBoard(theBoard): #对数据进行建模 print (theBoard[ 'top-L' ] + ' | ' + theBoard[ 'top-M' ] + '| ' + theBoard[ 'top-R' ] ) print ( '-+-+-' ) print (theBoard[ 'mid-L' ] + ' | ' + theBoard[ 'mid-M' ] + '| ' + theBoard[ 'mid-R' ]) print ( '-+-+-' ) print (theBoard[ 'low-L' ] + ' | ' + theBoard[ 'low-M' ] + '| ' + theBoard[ 'low-R' ]) turn = 'X' #初始值 for i in range ( 9 ): #循环 print_theBoard(theBoard) #调用建模 print ( 'Turn for ' + turn + '. Move on which space?' ) #提示用户 move = input () # theBoard[move] = turn #对字典进行变更 if turn = = 'X' : turn = 'O' else : turn = 'X' |
运行结果:
分类:
Python基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异