设为首页 加入收藏

TOP

python-day1作业(感谢视频老师留的作业)(一)
2017-09-30 13:03:56 】 浏览:884
Tags:python-day1 作业 感谢 视频 老师
__author__ = 'zht'
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
#努力学习每一天
'''
#尝试次数计数器
tries = 0
#定义尝试用户 计数器
tries_user = 0
#定义用户锁定标记
account_flag = 0
'''
第一层循环where  计数器小于3执行
'''
while tries <3:
    #打开user_list文件和user_lock文件,
    user_list = open('user_list.txt','r')
    user_lock = open('user_lock.txt','r')
    #要求用户输入用户名和密码
    user_name = input("请输入用户名:")
    user_pass = input("请输入密码:")
    #for _user_lock 循环读取user_lock文件,
    for _user_lock in user_lock.readlines():
        # _user_block= _user_lock循环的值.strip()默认去除行首和行位空格split()以当前行空格为分割下标
        _user_block = _user_lock.strip().split()
        #if判断 如果输入的用户名user_name=_user_block
        if user_name == _user_block[0]:
            #打印这个用户账户已经被锁定。
            print("这个账号已经被锁定")
            #用户锁定标记等于1
            account_flag = 1
            #计数器等于4,
            tries = 4
            #break跳出循环,传值where,tries = 4停止循环
            break
    #if判断用户锁定标记如果等于0就往下执行
    if account_flag == 0:
        #for循环  _user_name读取user_list.readlines()用户文件
        for _user_name in  user_list.readlines():
            #_user等于_user_name.strip().split()循环出的当前行首尾去除空格,并以当前行里的空格区分下标
            _user = _user_name.strip().split()
            #if判断用户输入user_name如果等于循环出的行_user[0]下标1,输入的密码user_pass并且等于_user[1]继续执行
            if user_name == _user[0] and user_pass == _user[1]:
                #提示登录成功。
                print("欢迎{name}登录业务系统终端".format(name=user_name))
                # print("welcome to login...,",user_name)
                #计数器等于4符合条件,break跳出循环,传值where,tries = 4停止循环
                tries = 4
                break
            #或者 输入的用户名正确,并且密码不正确,
            elif user_name == _user[0] and user_pass != _user[1]:
                #提示您输入的密码错误。
                print("您输入的用户名或密码错误!")
                #尝试用户计数器加1
                tries_user +=1
                #跳出本次循环
                break
        else:
            #否则不符合以上条件的提示您输入的用户或者密码错误
            print("您输入的用户名或密码错误!")
        #尝试用户计数器+1
        tries +=1
        #if判断,如果计数器小于4
        if tries < 4:
            #提示你还剩下几次机会,3-去用户计数的数字。等于结果
            print("u have",3-tries,"chances left!\n")
         #if判断如果洪湖尝试次数等于3,
        if tries_user == 3:
            #打开用户锁定文件,追加
            user_lock = open('user_list.txt','a')
            #把用户输入的用户名追加到锁定文件并且换行。
            user_lock.write(user_name+"\n")
            #关闭锁定文件
            user_lock.close()
            #提示你已经尝试多次,账户以及被锁定
            print("lots of atempts, ur account has been locked.")
#关闭用户文件
user_list.close()
#关闭用户锁定文件。
user_lock.close()

'''
1、运行程序,首先程序会提示用户输入用户名和密码,输入完后!会到user_lock查看有没有刚才书输入的用户名,如果有,
会提示“这个账号已经被锁定”如果没有继续往下执行。
2、这时候,程序执行读取user_list这个文件,看看里面有没有和用户输入相匹配的用户和密码。如果有,欢迎登陆,
如果用户名或者密码不对,提示用户输入的用户名或者密码错误。如果什么都不输入,或者用户名错误,也会提示用户名或密码错误。
3、登陆程序会给3次机会。如果登陆用户名不正确或者密码不正确,会把这个用户添加到user_lock这个里面。下次登陆
会被提示已多订。
'''
'''#本脚本涉及的几个关键知识:
#################################################################################
1、Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)
以下实例展示了strip()函数的使用方法:
#!/usr/bin/python3

str = "*****this is string example....wow!!!*****"
print (str.strip( '*' ))
以上实例输出结果如下:
this is string example....wow!!!
#################################################################################
2、split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
语法
split()方法语法:
str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。
返回值
返回分割后的字符串列表。
实例
以下实例展示了split()函数的使用方法:
#!/usr/bin/python3

str = "this is string example....wow!!!"
print (str.split( ))
print (str.split('i',1))
print (str.split('w'))
以上实例输出结果如下:
['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....w
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python-day1作业(感谢视频老师留.. 下一篇Python虚拟环境管理 -- virtualen..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目