20223319 2022 您所在的位置:网站首页 python五子棋程序 20223319 2022

20223319 2022

2023-05-27 23:11| 来源: 网络整理| 查看: 265

课程:《Python程序设计》 班级: 2233 姓名: 罗一戈 学号:20223319 实验教师:王志强 实验日期:2023年5月11日 必修/选修: 公选课

1.实验内容

Python综合应用:编写小游戏:节省纸张的赛博五子棋(doge

# pip install tkinter 首先安装tkinker(附在Python标准库) root= Tk() root.title('井字棋') digits = [1,2,3,4,5,6,7,8,9] mark = '' count = 0 panels = ["panel"]*10 Label(root,text="player1 : X",font="times 15").grid(row=0,column=1) Label(root,text="player2 : O",font="times 15").grid(row=0,column=2) button1=Button(root,width=15,font=('Times 16 bold'),height=7,command=lambda:checker(1)) button1.grid(row=1,column=1) button2=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda:checker(2)) button2.grid(row=1,column=2) button3=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(3)) button3.grid(row=1,column=3) button4=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(4)) button4.grid(row=2,column=1) button5=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(5)) button5.grid(row=2,column=2) button6=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(6)) button6.grid(row=2,column=3) button7=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(7)) button7.grid(row=3,column=1) button8=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(8)) button8.grid(row=3,column=2) button9=Button(root,width=15,height=7,font=('Times 16 bold'),command=lambda: checker(9)) button9.grid(row=3,column=3) root.mainloop()#初始化窗口 def win(panels,sign): return ((panels[1] == panels[2] == panels [3] == sign) or (panels[1] == panels[4] == panels [7] == sign) or (panels[1] == panels[5] == panels [9] == sign) or (panels[2] == panels[5] == panels [8] == sign) or (panels[3] == panels[6] == panels [9] == sign) or (panels[3] == panels[5] == panels [7] == sign) or (panels[4] == panels[5] == panels [6] == sign) or (panels[7] == panels[8] == panels [9] == sign)) #定义井字棋的九个按钮 def checker(digit): global count, mark, digits if digit==1 and digit in digits: digits.remove(digit) if count%2==0: mark ='X' panels[digit]=mark elif count%2!=0: mark = 'O' panels[digit]=mar button1.config(text = mark) count = count+1 sign = mark if(win(panels,sign) and sign=='X'): msg.showinfo("Result","Player1 wins") root.destroy() elif(win(panels,sign) and sign=='O'): msg.showinfo("Result","Player2 wins") root.destroy() #检查获胜条件,上面其中一种情况,最后点击下棋,然后用win函数是否结束比赛

 课程总结感想体会、意见和建议

学习的学科知识

1.Python概述; 2.Python语法:注释,代码缩进,保留字与标识符,字符串类型,布尔类型,数据类型转换,运算符; 3.流程控制语句:if语句,条件表达式,while循环,for循环,循环嵌套,break语句,continue语句等; 4.序列:列表,元组,字典,集合; 5.字符串与正则表达式; 6.面向对象程序设计:面向对象三要素:封装、继承、多态; 7.模块与异常处理; 8.异常处理及程序调试; 9.文件及目录操作:冯诺依曼模型,文件的基本操作:打开、读写、关闭; 10.socket编程技术:Socket=IP+端口; 11.数据库; 12.GUI界面编程; 13.Pygame游戏编程; 14.Python网络爬虫技术:快速开发、跨平台、解释性、多种爬虫框架; 15.web编程;

  更多(寄语):

  吾生也有涯,而知也无涯,以有涯随无涯,殆己!已而为知者,殆而已矣。  --《庄子·养生主》

  人的生命是有限的,而知识是无量的,以有限的生命去追求无量的知识,就会搞得很累很累。既然已决定求知了,就算搞得很累很累了,也还要追求下去。这句话以诙谐的方法悲壮表达强烈的奋进意志。就像我们在学校里进行学习Python一样,Python的语句可能性是无穷无尽的,而我们却从不在这种无限的可能性面前退缩,而是继续前行。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有