py程序---password问题

要求:1.用户输入Mary后需输入正确密码方可通过,输对正确用户名有提示信息

            2.允许三次输错密码,不然重输用户

            3.当用户在用户名输入EXIT时,退出

代码如下:

import sys


while True:
    flag = 3
    psw = 0
    print('please type your name')
    name = input()
    if name == 'EXIT':
        sys.exit()
    if name != 'Mary':
        continue
    while flag != 0:
        print('Hello Mary,type your password,you have only '+str(flag)+'times ')
        password = input()
        flag -=1 
        if password == '12121':
           psw +=1
           break
    if psw !=0:
        break
          
print('password Accessed')


    代码解释:import  后导入sys模块,是为了调用sys.exit()提前结束用户程序

     设置死循环,只有用户名和密码都正确或者输入’EXIT‘才退出死循环。

     flag 变量控制输入password次数,psw检查密码是否输入正确,未正确为0,正确为1.

    重点是循环:

            1.循环控制条件: 循环控制关键字 条件 :下一行的循环执行语句或多条语句 

            2.循环执行语句在下一行对其关键字最后一个字符,之后的只要是循环内部的就要保持前端对准,很细节很重要,前期一直莫名犯错就是这,他就是靠这个判断循环逻辑的

            3.循环关键字:if,elif,while这些不多讲,增加了一个: for  变量 in range(整型数字)   ,这个变量连创建都不用,直接用,范围固定是0~括号内整数-1, 循环多少次由括号里的那个数字决定,还不用专门调用模块 ,当然要是有输出每循环一次都会换行。介绍它的好用之处:

                   -->1.   输出列表每一个元素

                            spam = [1sa',,45','a','44']

                             for i in range(len(spam)) :

                                print('列表第' + ’str(i)‘+'元素是: '+’spam[i]‘)

             4. break,continue作用就是跳出循环,前者是跳至循环末端退出当前循环,后者是跳到循环前端,继续判断,只是后面的语句不在执行。当然重点在于怎么判断跳到哪去了,看你当前这条语句的判断语句对其哪一个判断语句关键字的最后一个字符,这就是你的boss,要是你的正好是最后一层循环,就是管你的判断语句对着边沿,那你一跳接解放了,要是在最里面就要一个一个跳了~

           

                         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值