#!/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. STEP模块——电子琴

    电子琴原理 什么是声音?上过初中的朋友都知道声音是由震动所产生的.一定频率的震动就产生了一定频率的声音. 理论研究第一步,让喇叭发出do re mi fa sol la si的音,我们先不管do的频率 ...

  2. 第五篇.Bootstrap 排版

    使用bootstrap的排版特性可以创建标题,段落,列表及其它内联元素. 标题:bootstrap中定义了从h1-h6的六种标题样式. 内联子标题: 如果需要向任意一个标题添加一个子标题,只需要加上& ...

  3. linux环境下安装jdk

    1.查看系统自带的jdk #RPM -qa|grep jdk 若存在则删除 jdk-1.7.0_67-fcs.x86_64 #rpm -e --nodeps jdk-1.7.0_67-fcs.x86_ ...

  4. Configure the max limit for concurrent TCP connections(转)

    To keep the TCP/IP stack from taking all resources on the computer, there are different parameters t ...

  5. 关于由CSS2.1所提出的的BFC的理解与样例

    今天在这里谈谈css中BFC.“BFC”是Block Formatting Context的缩写,这个概念是由CSS2.1提出来的,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用.满 ...

  6. MYSQL单双向同步

    Master:192.168.1.101 Slave  :192.168.1.102 单向同步(一) 进入Master启动MYSQL [root@localhost ~]# service mysql ...

  7. 伪装的方式实现js继承

    看起来属性放到"父类"里了,这种方式原型中还是有属性的,只不过在"子类"的构造器中用call方法调用父类构造函数的时候,"子类"被强行赋值了 ...

  8. JavaScript的display属性

    示例: <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" conten ...

  9. 部署Maven核心程序

    1.安装Maven核心程序 1.1 检查JAVA_HOME环境变量 2. 解压Maven核心程序压缩包,放在一个非中文无空格的路径下 3. 配置Maven相关的环境变量 3.1 MAVEN_HOME ...

  10. 初次学习shader

    Shader "Custom/Diffuse Texture" { //在shader中的位置 Properties { //着色器的属性 _MainTex ("Base ...