python基础1习题练习

发布时间:2019-09-10 09:18:10编辑:auto阅读(1418)

    python基础1习题练习:
    #encoding:utf-8
    #1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
    name=input('name>>: ').strip()
    password=input('passwd>>: ').strip()
    if name=='seven' and password=='123':
        print('login successful')
    else:
        print('login failed')
    
    #2.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    n=0
    while n < 3:
        name=input('name>>: ').strip()
        password=input('passwd>>: ').strip()
        if name=='seven' and password=='123':
            print('login successful')
        else:
            print('login failed')
            n+=1
    #3.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    n=0
    while n < 3:
        name=input('name>>: ').strip()
        passwd=input('passwd>>: ').strip()
        if name=='seven' or name=='alex' and passwd=='123':
           print('login successful')
        else:
            print('login failed')
            n += 1
    #8.a 使用while循环实现输出2-3+4-5+6...+100 的和
    n=2
    sum=0
    while n <= 100:
        if n%2==0:
            sum+=n
        else:
            sum-=n
        n+=1
    print(sum)
    #b.使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 使用 while 循环实现输出 1-100 内的所有奇数
    encoding:utf-8
    n=1
    while n <= 12:
        if n==6 or n==10:
            n+=1
            continue
        print(n)
        n+=1
    #b.使用 while 循环实现输出 1-100 内的所有奇数
    n=1
    while n<=100:
        if n %2 !=0:
            print(n)
        n+=1
    #e.使用 while 循环实现输出 1-100 内的所有偶数
    n=1
    while n<=100:
        if n%2==0:
            print(n)
        n+=1
    #9现有如下两个变量,请简述 n1 和 n2 是什么关系?
    # n1 = 123456
    # n2 = n1
    # print(id(n1))
    # print(id(n2))
    #关系:值相同,ID相同
    
    # 2 作业:编写登陆接口
    #
    # 基础需求:
    #
    # 让用户输入用户名密码
    # 认证成功后显示欢迎信息
    # 输错三次后退出程序
    
    count=0
    while count <3:
        name=input('name>>: ').strip()
        passwd=input('passwd>>: ').strip()
        if name=='aa' and passwd=='123':
            print('login successful')
        else:
            print('input error,you have %d choice' %(2-count))
            count+=1
    
    # 升级需求:
    #
    # 可以支持多个用户登录 (提示,通过列表存多个账户信息)
    # 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
    ##(在本级目录下先创建一个db.txt文件)
    
    dic={
        'egon1':{'password':'123','count':0},
        'egon2':{'password':'123','count':0},
        'egon3':{'password':'123','count':0},
    }
    count=0
    while True:
        name=input('name>>: ').strip()
        if name not in dic:
            print('用户不存在')
            continue
        with open('db.txt','r') as f:
            lock_users=f.read().split('|')
            if name in lock_users:
                print('用户%s被锁定,'%name)
                break
    
            if dic[name]['count'] > 2:
                print('次数过多,锁定')
                with open('db.txt','a') as f:
                    f.write('%s|' %name)
                break
            passwd=input('passwd>>: ')
            if passwd==dic[name]['password']:
                print('登陆成功')
                break
            else:
                print('用户名,密码错误')
                dic[name]['count']+=1


关键字