Python 基础 - Day 1 Assignment - Login 模拟登陆

作业要求:

1. 用户输入帐号密码进行登陆

2. 用户信息保存在文件内

3. 用户密码输入错误三次后锁定用户

SAMPLE 1: By 刘

步骤:

1. 字符串读取转成字典

user_info = ‘Eric:123456#Catherine:098765‘
user_list = user_info.split(‘#‘)
print(user_list)

user_dic ={}      # 创建空字典
for item in user_list:
    item_list = item.split(‘:‘)  # >>> [‘eric‘,‘123456‘,‘‘Catherine‘,‘098765‘]
    user_dic[item_list[0]] = item_list[-1]   #???
print(user_dic)

{‘Eric‘: ‘123456‘, ‘Catherine‘: ‘098765‘}

2. 从文件中读取字符串

f = open(‘user_info.txt‘,‘r‘)
user_info = f.read()
f.close()

user_list = user_info.split(‘#‘)
print(user_list)

user_dic ={}      # 创建空字典
for item in user_list:
    item_list = item.split(‘:‘)  # >>> [‘eric‘,‘123456‘,‘‘Catherine‘,‘098765‘]
    user_dic[item_list[0]] = item_list[-1]   #
print(user_dic)

3. 程序的主要部分

import sys

user_info = {‘alex‘: "123",‘wenwei‘: ‘gdalex‘}

count = 0
username = input(‘用户名 >>> : ‘)
if username in user_info:
    # lock_list = 读取锁定文件的信息
    lock_list = [‘alex‘]
    if user_info in lock_list:
        print(‘被锁定‘)
        sys.exit()
    else:
        while count < 3:
            password = input(‘pwd >>>:‘)
            if password == user_info[username]:
                print(‘登陆成功,欢迎%s‘ % username)
                sys.exit()
            else:
                count += 1
                if count == 3:
                    print(‘被说点,请联系管理员‘)
                    sys.exit()
                else:
                    print(‘密码错误!请重新输入。还有%s次机会‘ % (3-count))
else:
    print(‘用户名不存在‘)

sample 2: By

时间: 2024-08-04 22:14:38

Python 基础 - Day 1 Assignment - Login 模拟登陆的相关文章

Scrapy基础(十四)————知乎模拟登陆

#-*-coding:utf-8 -*-__author__ = "ruoniao"__date__ = "2017/5/31 20:59" 之前我们通过爬取伯乐在线的文章,伯乐在线对爬取没有什么限制,这次爬取知乎,就有了爬取限制,首先就是登录限制:为破解限制,首先就是模拟登录 模拟登陆首先要明白的就是session和cookie机制: 简单的说(个人理解):  http是一种无状态的协议,为解决用户每次都需要输入密码登录的烦恼,也为了服务器能够记住每次请求的浏览器

python全栈系列之---cookie模拟登陆和模拟session原理

cookie模拟登陆: import tornado.web class IndexHandler(tornado.web.RequestHandler): def get(self): #self.write("Hello world") # 展示所有的cookie # print(self.cookies) # print(self.get_cookie('k1')) # self.set_cookie('k1','999')#还有 过期时间 适用路径 # self.render(

python基础实践(一)模拟用户登录

开发环境:Windows 编辑器:pycharm python环境:3.6 基本需求:编写登陆 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 基本思路: 1.定义用户以及密码 2.定义登录次数 3.使用while循环实现次数的判断 4.while循环嵌套if···else循环实现用户名和密码的验证,如果成功则显示登录成功,如果失败则继续登录,同时计数部分加1: 代码示例: #!/usr/bin/env python #_*_coding:utf-8_*_ #author peng im

Python 基础 - Day 4 Assignment - 员工信息表程序

作业要求及初步思路 员工信息表程序,实现增删改查操作: ① 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * from staff_table where dept = "IT" select * from staff_table where enroll_date like "2013"② 解决方案: sql语句的python解析问题,即将用户输入的sql

Python 基础 - Day 5 Assignment - ATM

作业需求及初步思路 序号  需求  思路  1 自定义信用卡额度 e.g 15000     2  实现购物商城,买东西加入购物车,调用信用卡结构结账   3 可以提现,手续费5%     4 支持多账户登陆(admin, client)   5 支持账户间转账     6 记录每月日常消费流水     7 提供还款结构     8 ATM记录操作日志    9 提供管理接口(admin),包括添加账户.用户额度.冻结账户等    10 用户认证用装饰器    数据存储模式: {'enroll_

Python 基础 - Day 5 Assignment - ATM 取款机

作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户.用户额度,冻结账户等... 用户认证用装饰器 示例代码 https://github.com/triaquae/py3_training/tree/ma

Python基础练习三超市存包柜模拟(优化)

题目描述 模拟超市存包柜的存放物品和取出物品操作,存放物品时选择空储物格,然后分配密码即为存放完成:取出物品时,输入对应的密码,打开对应的箱门即为取出物品 题目分析 1.增加私有变量,练习私有变量的使用 2.多处需要进行数据类型转换,如int(),str()等 3.字符串的拼接和截取,截取使用的是切片的方式 4.密码采用了随机密码+位置码的方式,这样既能直接根据密码定位箱子位置,同时避免了随机生成的重复密码问题 代码 本次主要优化了check_cell()方法.save_goods()方法.ge

Python 基础 - Day 2 Assignment - ShoppingCart 购物车程序

作业要求 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退出时,打印已购买商品和余额 5.在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示 6.用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买 7.允许查询之前的消费记录

Python 基础 - Day 1 Assignment - Three tier menu 三级菜单

作业要求 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 评分标准: 用多层嵌套while循环的方式完成作业2,85分 只用一层循环完成作业2,100分 SAMPLE 1  data = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'Google': {}, }, '中关村': { '爱奇艺': {}, '汽车之家':