#!/usr/bin/env python
#coding = utf-8
age_of_oldby = 56
user = "fyt"
word = "fyt"

f = open("black_user.txt","r")
lock_file = f.read()
f.close()
count = 0

city_dct = {'北京':{'海淀区':['上地','西二旗','颐和园','五道口','六道口'],
                    '昌平区':['生命科学园','史各庄','朱辛庄','沙河','县城','北小营'],
                    '朝阳区':['国贸','双井','太阳宫','东直门','柳芳']}}

city_index = [(index,key) for index, key in  enumerate(city_dct)]
city_index.append((len(city_index),'退出'))

for i in range(3):
    username = input("请输入账号")
    password = input("请输入密码")

    if lock_file == username:
       print("您的账号已被锁定")
       break
    elif username==user and password==word:
        print("欢迎您")
    else:
        print("账号密码错误")
    count+=1
    if count==3:
        print("您的账号将被锁定")
        f = open("black_user.txt","w")
        f.write("%s" %username)
        f.close()

    while True:
        print("欢迎查询北京地图")
        print('------------------------------')
        for i in  city_index:
            for j in  i:
                print(j,end='')
            print('')

        get_city = input('请输入查询标号')
        if not get_city.isdigit():
            print('请输入一个数字索引号')
            continue
        elif int(get_city) >= len(city_index):
            print('输入的数字太大,请确认并输入')
            continue
        elif int(get_city) == len(city_index)-1:
            print('欢迎再登陆,bye bye!')
            break
        else:
            choose_city = city_index[int(get_city)][1]
            area_index = [(index,key) for index,key in enumerate(city_dct[choose_city])]
            area_index.append((len(area_index),'返回'))
            while True:
                for i in  area_index:
                    for j in i:
                        print(j,end='')
                    print('')
                get_area = input('请选择查询的索引号')
                if not get_area.isdigit():
                    print('请输入一个数字索引号')
                    continue
                elif int(get_area) >= len(area_index):
                    print('输入的数字太大,请重新输入')
                    continue
                elif int(get_area) == len(area_index)-1:
                    print('返回到上一级菜单')
                    break
                else:
                    choose_area = area_index[int(get_area)][1]
                    print(city_dct[choose_city][choose_area])
                    print('--------------------')
    else:
        quit()

python 自学 1 day的更多相关文章

  1. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  2. Python - 自学django,上线一套资产管理系统

    一.概述 终于把公司的资产管理网站写完,并通过测试,然后上线.期间包括看视频学习.自己写前后端代码,用时两个多月.现将一些体会记录下来,希望能帮到想学django做web开发的人.大牛可以不用看了,小 ...

  3. 拎壶冲冲冲专业砸各种培训机构饭碗篇----python自学(一)

    本人一直从事运维工程师,热爱运维,所以从自学的角度站我还是以python运维为主. 一.python自学,当然少不了从hello world开始,话不多说,直接上手练习 1.这个可以学会 print( ...

  4. [Python自学] day-21 (2) (Cookie、FBV|CBV装饰器)

    一.什么是Cookie 1.什么是Cookie? Cookie是保存在客户端浏览器中的文件,其中记录了服务器让浏览器记录的一些键值对(类似字典). 当Cookie中存在数据时,浏览器在访问网站时会读取 ...

  5. [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)

    一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...

  6. [Python自学] day-20 (Django-ORM、Ajax)

    一.外键跨表操作(一对多) 在 [Python自学] day-19 (2) (Django-ORM) 中,我们利用外键实现了一对多的表操作. 可以利用以下方式来获取外键指向表的数据: def orm_ ...

  7. [Python自学] day-19 (2) (Django-ORM)

    一.ORM的分类 ORM一般分为两类: 1.DB first:先在DB中创建数据库.表结构,然后自动生成代码中的类.在后续操作中直接在代码中操作相应的类即可. 2.Code first:直接在代码中实 ...

  8. [Python自学] day-19 (1) (FBV和CBV、路由系统)

    一.获取表单提交的数据 在 [Python自学] day-18 (2) (MTV架构.Django框架)中,我们使用过以下方式来获取表单数据: user = request.POST.get('use ...

  9. [Python自学] day-18 (2) (MTV架构、Django框架、模板语言)

    一.实现一个简单的Web服务器 使用Python标准库提供的独立WSGI服务器来实现MVC架构. 首先,实现一个简单的Web服务器: from wsgiref.simple_server import ...

  10. Python自学之路---Day13

    目录 Python自学之路---Day13 常用的三个方法 匹配单个字符 边界匹配 数量匹配 逻辑与分组 编译正则表达式 其他方法 Python自学之路---Day13 常用的三个方法 1.re.ma ...

随机推荐

  1. 【PCB】扫盲总结

    1.PCB是什么 PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体.由于它是采用电子印刷 ...

  2. python 中BeautifulSoup入门

    什么是BeautifulSoup? Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的 ...

  3. SQL Server数据库性能优化之索引篇【转】

    http://www.blogjava.net/allen-zhe/archive/2010/07/23/326966.html 性能优化之索引篇 近期项目需要, 做了一段时间的SQL Server性 ...

  4. iOS程序启动过程

    First, the function creates the main application object (step 3 in the flowchart). If you specify ni ...

  5. SharePoint Calculated Columns 分类: Sharepoint 2015-07-09 01:49 8人阅读 评论(0) 收藏

    SharePoint Calculated Columns are powerful tools when creating out-of-the-box solutions. With these ...

  6. 各种浏览器的userAgent收集

    window.navigator.userAgent 1) Chrome Win7: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KH ...

  7. Android sdk环境配置

      1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.Android SDK安装 1.4.ADT安装 1.5.创建AVD 详细细节 http://www.cnblogs.com/s ...

  8. C#事件支持发布者/订阅者模式(观察者模式)

    C#事件支持发布者/订阅者模式,发布者将事件通知给订阅者,而订阅者在事件发生时调用已经注册好的事件处理函数.        public delegate void delUpdate();  //委 ...

  9. linux msql

    安装mysql 1.使用rpm 安装mysql 或者使用yum安装 使用rpm 安装 下载 Centos 7 所需要的mysql包 tar -xf 解压整合包 根据依赖 安装 common>li ...

  10. Android四大基本组件介绍与生命周期

    Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...