python汉诺塔用循环结构实现_python实现的汉诺塔解谜软件

自己

自己动手做了一个汉诺塔的手把手指导的图形界面软件,看起来不是非常高大上。不过复习了递归调用,学习了python的图形界面。以及多次尝试与错误之后,学会了怎么解汉诺塔。话不多说了,直接上代码。

语言环境: python3.5.2

from tkinter import *

class Application(Frame):

def __init__(self, master=None):

Frame.__init__(self, master)

self.pack()

self.createWidges()

def createWidges(self):

self.label = Label(text=”How many plates are there of hanoiumber: “)

self.numInput = Entry()

self.resolveButton = Button(self, text=’RESOLVE’, command=self.resolve)

self.resultOutput = Text(self)

self.label.pack(side=LEFT)

self.numInput.pack()

self.resolveButton.pack()

self.resultOutput.pack()

def resolve(self):

self.count = 0

self.resultOutput.delete(0.0, END)

num = int(self.numInput.get() or ‘3’)

self.moveUI(num, ‘A’, ‘B’, ‘C’)

def moveUI(self, n , a, b, c):

if n == 1:

self.count += 1

self.resultOutput.insert(INSERT, ‘第’ + str(self.count) + ‘步: ‘ + a + ‘->’ +c + ‘n’)

return

self.moveUI(n-1, a, c, b)

self.moveUI(1, a, b, c)

self.moveUI(n-1, b, a, c)

return

app = Application()

app.master.title(‘Hanoi Solver’)

app.mainloop()

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树基础语法循环214835 人正在系统学习中 相关资源:Android血型之迷-Android其他资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月12日
下一篇 2020年11月12日

相关推荐