zoukankan      html  css  js  c++  java
  • 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、然后给出结果

  • 相关阅读:
    推荐系统(10)—— 进化算法、强化学习
    Throttle Debounce 总结
    文件点击下载
    Mongodb安装及启动正确姿势
    事务的ACID是指什么?
    sqlserver 获取时间字段 每月最后一天 分组(分区)最后一条的记录
    echarts map js或json 地图数据下载
    sqlserver 字段 逗号分隔分组 多行数据
    windows10 中文输入法 增加美式键盘 导致 系统部分语言变成英文
    excel 合并相同内容的单元格 vba
  • 原文地址:https://www.cnblogs.com/fqxtony/p/8265567.html
Copyright © 2011-2022 走看看