goto语句以及其替代方法;python的while循环制作目录?

最近在尝试用python做一个数据库,通过pymysql调取数据库的数据然后处理展示
在搭建数据库的目录时,存在一个问题—如何在操作完或者错误点进某一部后返回目录选择的界面?
开始的时候想尝试用goto语句
先安装 很简单pip install goto-statement
然后通过小程序测试

from goto import with_goto
@with_goto
def ceshi(start,stop):
    i=start
    result=[]
    label.begin
    if i==stop:
        goto.end
    result.append(i)
    i+=1
    goto.begin
ceshi(1,4)
ceshi(1,1)

发现是可行的,然后美滋滋的就去应用了,结果发现报错说goto无法在不同block间调用,百度一下发现很多说不建议使用goto,于是还是返回去采用双重while来实现
大概的样子就是

while True:
	选择跳转到哪一步
	第一步
	while True:
			运行
			if 重新运行:
				continue
			elif 想返回目录:
				break
	continue
	第二步
	与之前的类似

结果做出来的代码就是这样子的

    def run(self):
        while True:
            chaxunleixing = int(input("请输入查询数字(1-电话查询;2-名单查询;3-订单查询;4-电话记录查询;5-数据库说明):"))
            if chaxunleixing == 1:
                while True:
                    num = input("请输入11位电话号码(返回目录输入0):")
                    if int(num)==0:
                        break
                    if len(num) != 11:
                        print("输入错误")
                        continue
                    print("输入成功")
                    a = input("是否绘图(是输入1,否输入0):")
                    message = query_data(int(num), int(a))
                    dm1=input("返回目录输入0,重新查询输入1:")
                    if int(dm1)==0:
                        break
                    else:
                        continue

                continue
            elif chaxunleixing == 2:
                while True:
                    starttime = input("请输入开始时间(格式为'yyyy-mm-dd',输入0返回目录):")
                    if int(starttime)==0:
                        break
                    if len(starttime) != 10:
                        print("起始时间输入错误,请重新输入")
                        continue
                    endtime = input("请输入结束时间(格式为'yyyy-mm-dd'):")

                    if len(endtime) != 10:
                        print("结束时间输入错误,请重新输入")
                        continue
                    starttime = "'" + starttime + "'"
                    endtime = "'" + endtime + "'"
                    mingdan_message = self.mingdan_chaxun(starttime, endtime)
                    dm1 = input("返回目录输入0,重新查询输入1:")
                    if int(dm1) == 0:
                        break
                    else:
                        continue
                    #save(mingdan_message, 'shuju')
                    break
                continue

由于本人基本上自学,所以代码难免写的有些冗余,以后再简化吧,就是这样o()o

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值