Python3学习笔记-字典及列表练习

一、字典练习_注册校验

    需求点说明:

   1、用字典存储已有用户名、密码

      2、判断输入用户名、密码、确认密码不能为空:strip()

      3、用户名不能重复:key in dirc

      4、两次密码应输入一致

      5、错误3次提示错误次数过多:for, else

user = {
    'fengfeng':'123456',
    'fangfang':'456788'
}
for i in range(3):
    username = input('请输入用户名').strip()
    passwd = input('请输入密码').strip()
    cpasswd = input('请再次输入密码').strip()
    if username in user:  #字典里面用in来判断的话,只是判断key是否存在
        print('用户名已被注册')
    elif passwd != cpasswd:
        print('两次输入密码不一致')
    elif username == ''or passwd == '' or cpasswd == '':
        print('用户名或密码不能为空')
    else:
        print('恭喜,注册成功!')
        user[username]=passwd  #字典插入新的数据
        break
else:
    print('错误次数过多')
print(user)

二、列表练习

1、校验用户名是否合法

    需求点说明:

   1、输入账号 #input

   2、如果账号存在的,提示已经被注册,如果不存在的,就让他注册 #列表比对all_users [],count()

   3、不能为空 #strip()

   4、用户名长度长度6-12之间 len()

   5、最多输入3次 #循环

all_users = ['fengfeng','fangfang','xiaofeng']
for i in range(3):
    user = input('请输入用户名:').strip()
    if len(user) >5 and len(user) <13:
        if all_users.count(user) > 0:
            print('用户名已被注册')
        else:
            print('用户名可用,赶紧注册吧')
            break
    else:
        print('用户名长度需要在6-12位之间')
else:
    print('失败次数过多')

1、二维列表取值

    需求点说明:将已交作业和未交作业的同学分组,并打印

stus=[
      ['小明','未交'],['小青','已交'],
      ['小白','已交'], ['小紫','已交'],
      ['小红','未交'], ['小绿','未交'],
      ['小黄','未交'], ['小黑','已交']
    ]
pass_list=[]  # 所有已经交作业的同学
fail_list=[]  # 没有交作业的同学
for stu in stus:
    status = stu[1]
    name = stu[0]
    if status =='未交':
        fail_list.append(name)
    else:
        pass_list.append(name)
print('已交作业同学是 :%s,总共有 %s 个人'%(pass_list,len(pass_list)))
print('未交作业同学是 :%s,总共有 %s 个人'%(fail_list,len(fail_list)))

猜你喜欢

转载自www.cnblogs.com/fenggf/p/9058580.html