Python学习笔记(四)—第六天,easygui

接触了easygui的简单图形用户界面编程,尝试结合前面的汉诺塔写一个小程序。奇怪的是本来运行一切正常,

各种图形化界面输入输出也都ok。

尝试优化一些语句时,也没做什么改变,突然就开始报各种(SyntaxError: invalid syntax)错误。。。然而在命令行界面运行又一切正常。

即便是将代码恢复到原来可以正常运行时,还是报各种错误。

菜鸟的头疼。。。

先贴出代码,明天再查一些。

好吧,本来打算明天的。。。刚才又一行行调试,终于发现是第四行少了一个括号,一个括号引发的血案,耽误了我好久时间。

 1 # coding=utf-8
 2 import easygui
 3 easygui.msgbox('Hello World!','我的第一个GUI程序')
 4 i = int(easygui.enterbox('请输入你希望的汉诺塔层数:','hanoi'))
 5 easygui.msgbox ('您输入了:' + str(i),'hanoi')
 6 way = []
 7 
 8 def hanoi(n,a,b,c):    
 9     if n == 1:                    # 如果只有一个盘,那么就是把这一个盘,从a轴(起始轴)移动到c轴(目标轴)。
10         print (a ,'-->', c)     #这一句其实没什么用了,可以删除了
11         temp1 = str(a)
12         temp2 = str(c)
13         way.append(temp1+'-->'+temp2)
14         
15     else:                        #如果有n个盘子    
16         hanoi((n-1),a,c,b)        #那么第一步,就是先把(n-1)个盘子从a轴移动到b轴,以c轴为缓冲。此时,a轴为起始轴,b轴为目标轴,c轴为缓冲轴。
17         hanoi(1,a,b,c)            #第二步,移动了(n-1)个盘子后,a轴还剩下一个,那么就是把最后这个从a轴移动到c轴。即hanoi(1,a,b,c),a -->c。
18         hanoi((n-1),b,a,c)        #第三步,将b轴上的(n-1)个盘子,从b轴移动到c轴,此时b为起始轴,a为缓冲轴,c为目标轴,即hanoi((n-1),b,a,c)
19         
20 
21 hanoi(i,'A','B','C')
22 easygui.msgbox(way,'您要走的路径')

运行的话,就会出现几个界面,然后输入想要的数字,得到结果。

还很丑T_T,后续优化吧。。。

1、先是欢迎。。。

2、输入想要的数字,3:

3、然后给出结果

原文地址:https://www.cnblogs.com/fqxtony/p/8265567.html