Python 01 基础作业

day01 作业

标准版

#!/usr/bin/env python
# -*- coding: utf-8 -*-

username = "wangwu"
password = "123"
lock_count = 0

for i in range(3):
    username_input = input("请输入用户名:")
    if username_input == username and lock_count < 3:
        password_input = input("请输入密码:")
        if password_input == password:
            print("欢迎登陆!")
            break
        print("用户名密码错误!")
        lock_count += 1
        print("%s您已经登陆失败%s次。" % (username_input, lock_count))
    elif username_input == username and lock_count == 3:
        print("您的账户被锁定,请联系管理员aaa!")
        break
    else:
        print("用户名密码错误!")

 文件版(单文件)

创建一个文件pwd.txt内容如下

www:123:0
wangwu:234:1
zz:345:0

#!/usr/bin/env python
# -*- coding: utf-8 -*-

user_list = []  
pwd_list = []
lock_list = []
all_list = []

with open('pwd.txt', 'r') as pwd_file:     #读取文件内容添加到相应列表中
    for i in pwd_file:
        all_list.append(i.strip())
        user_list.append(i.split(":")[0])
        pwd_list.append(i.split(":")[1])
        lock_list.append(int(i.split(":")[2]))

for i in range(3):      #循环三次
    username_input = input("请输入用户名:")
    if username_input in user_list:
        username_id = user_list.index(username_input)   #取index位置
        username = user_list[username_id]   
        password = pwd_list[username_id]
        lock_count = lock_list[username_id]        #锁定次数计数
        if username_input == username and lock_count < 3:   #用户名正确并且没有锁定的用户
            password_input = input("请输入密码:")
            if password_input == password:      #密码正确
                print("欢迎登陆!")
                break
            else:
                print("用户名密码错误!")
                lock_count += 1
                lock_list[username_id] = lock_count     #锁定次数计数
                all_list[username_id] = "%s:%s:%s" % (username, password, lock_count)
                with open('pwd.txt', 'w') as write_file:    #锁定次数写入文件
                    for j in all_list:
                        write_file.write(j+"\n")
                if lock_count == 3:
                    print("%s您已经登陆失败%s次,用户已锁定!" % (username_input, lock_count))
                    break
                else:
                    print("%s您已经登陆失败%s次。" % (username_input, lock_count))
        elif username_input == username and lock_count >= 3:
            print("您的账户被锁定,请联系管理员aaa!")
            break
    else:
        print("用户名密码错误!")

 多级菜单操作

#!/usr/bin/env python
# -*- coding: utf-8 -*-

city_dict = {
    "北京市": {
        "海淀区": ["中关村", "上地", "西二旗"],
        "朝阳区": ["望京", "四惠", "大望路"],
        "东城区": ["东直门", "东单", "王府井"],
        "西城区": ["西直门", "西单", "宣武门"]
    },
    "上海市": {
        "静安区": ["江宁路", "南京西路", "静安寺"],
        "普陀区": ["甘泉路", "宜州路", "石泉路"],
        "徐汇区": ["徐家汇", "田林", "龙华"]
    },
    "广州市": {
        "天河区": ["天河北", "石牌", "员村"],
        "黄埔区": ["鱼珠", "大沙地", "文冲"],
        "珠海区": ["新港", "客村", "南岗"]
    }
}

while True:
    print("hello world!:")
    city_list = list(city_dict.keys())
    for k, v in enumerate(city_list):
        print(k, v)
    input_city = input("请输入城市序号:")
    city_name = city_list[int(input_city)]
    area_list = list(city_dict[city_name].keys())
    while True:
        for a, b in enumerate(area_list):
            print(a, b)
        input_area = input("请输入区域序号,输入b返回上级菜单,输入q退出程序:")
        if input_area == "b":
            print("您已经返回上级:")
            break
        elif input_area == "q":
            print("程序退出!")
            exit()
        else:
            area_name = area_list[int(input_area)]
            road_list = city_dict[city_name][area_name]
        while True:
            for c, d in enumerate(road_list):
                print(c, d)
            input_road = input("请输入路序号,输入b返回上级菜单,输入q退出程序:")
            if input_road == "b":
                print("您已经返回上级:")
                break
            elif input_road == "q":
                print("程序退出!")
                exit()
            else:
                road_name = road_list[int(input_road)]
                print(road_name)
                exit()

 

posted @ 2017-04-13 16:32  Hungry-fish  阅读(193)  评论(0编辑  收藏  举报