近期实操题归纳总结

近期实操题归纳总结

实操题注意点:
1.前期不熟练的情况下一定要先写注释
2.一定要仔细思考每一行代码的含义
3.自己不会的代码或者不熟练的代码一定要多敲多练

1.利用列表编写一个员工姓名管理系统

1.利用列表编写一个员工姓名管理系统
    输入1执行添加用户名功能
    输入2执行查看所有用户名功能
    输入3执行删除指定用户名功能
    '''分析 用户输入的不同 可以执行不同的代码'''
    ps: 思考如何让程序循环起来并且可以根据不同指令执行不同操作
    提示: 循环结构 + 分支结构
# 1.先定义一个存储用户名的列表
data_list = []
# 2.定义一个循环结构
while True:
    # 3.打印各项功能,供用户选择
    print('''
    1.添加用户
    2.查看用户
    3.删除用户
    exit 退出管理系统
    ''')
    # 4.获取用户想要执行的编码
    choice_num = input('请输入您要执行的功能编号》》》').strip()
    # 5.根据不同的功能代码,执行不同的分支
    if choice_num == '1':
        # 6.获取用户输入的用户名
        username = input('请输入您的用户名》》》').strip()
        # 7.判断用户是否已存在
        if username in data_list:
            print('用户已经存在')
        else:
            # 8.列表添加用户
            data_list.append(username)
            print(f'用户{ username}添加成功')
    elif choice_num == '2':
        # 9.循环打印每个用户数据
        for name in data_list:
            print(
            f"""
            -------userinfo------
            用户名:{name}
            ---------------------
            """)
    elif choice_num == '3':
        # 10.获取用户想要删除的用户名
        delete_username = input('请输入那你要删除的用户名》》》').strip()
        # 11.判断用户名是否存在
        if delete_username in data_list:
            data_list.remove(delete_username)
            print(f'用户名{delete_username}已删除')
        else:
            print('用户名不存在,删除什么啊')
    elif choice_num == 'exit':
        print('你已退出管理系统,下次再会')
        break
    else:
        print('没有你想要执行的功能')

# 注意:写代码的时候一定要用心,切记博客分神,分神的后果就是有些变量拼写错误,或者等号写错,缩进不对,往往这些小问题就会成为您的绊脚石,一个小问题会让你浪费好久的时间,所以写代码的时候不要急躁,沉下心来,慢慢写

2.基于字符串充当数据库完成用户登录(基础练习)

2.基于字符串充当数据库完成用户登录(基础练习)
   data_source = 'jason|123'  # 一个用户数据
   获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
#1. 定义用户的真实数据
data_source = 'jason|123'
# 2.获取用户名和密码
username = input('请输入您的用户名').strip()
password = input('请输入您的密码').strip()
#3.切割字符串,获取真实的用户名和密码
real_name, real_pwd = data_source.split('|')
#4.校验用户名和密码是否正确
if username == real_name and password == real_pwd:
    print('登陆成功')
else:
    print('用户名或者密码有误')

3.基于列表充当数据库完成用户登录(拔高练习) # 多个用户数据

3.基于列表充当数据库完成用户登录(拔高练习)  # 多个用户数据
   data_source = ['jason|123', 'kevin|321','oscar|222']
# 1.先定义多用户的数据信息
data_source = ['jason|123', 'kevin|321', 'oscar|222']
# 2.获取用户输入的用户名和密码
username = input('请输入您的用户名').strip()
password = input('请输入您的密码').strip()
# 3.循环获取列表中的每一个真实的数据
for data in data_source:
    real_name, real_pwd = data.split('|')
    if username == real_name and password == real_pwd:
        print('登陆成功')
        break
else:
    print('用户名或者密码有误')
    
# 注:列表不能切割里面的字符或者数据的,我们题目中是一个列表不是字符串,在做题的时候一定要好好审题,所以我们在做这个题的时候就得多一个操作,将列表中的数据拆分开来,然后再进行分割就轻易的多

4.根据用户输入内容打印其权限

4.根据用户输入内容打印其权限
    '''
    jason --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
    '''
# 1.获取用户输入的用户名
username = input('请输入您要查看的用户姓名')
# 2.判断用户名,打印不同的提示
if username == 'jason':
    print('超级管理员')
elif username == 'tom':
    print('普通管理员')
elif username == 'jack' or username == 'rain':
    print('业务主管')
else:
    print('普通用户')

5.编写用户登录程序

5.编写用户登录程序
 要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
    eg:black_user_list = ['jason','kevin','tony']
 如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
    eg: oscar 123
black_user_list = ['jason', 'kevin', 'tony']
# 1.先获取用户的用户名
username = input('请输入您的用户名')
# 2.判断输入的用户是否这种黑名单里面
if username in black_user_list:
    print('您已经被拉入黑名单了')
else:
    pwd = input('请输入您的密码')
    # 2.判断用户名或者密码是否正确
    if username == 'jia' and pwd == '123':
        print('登录成功')
    else:
        print('用户名或者密码有误')

6.编写用户登录程序

6.编写用户登录程序
 用户如果登录失败 则只能尝试三次
 用户如果登录成功 则直接结束程序
count = 1
while True:
    if count == 4:
        print('登录次数已达上限,下次再来吧')
        break
    else:
        username = input('请输入您的用户名')
        password = input('请输入您的密码')
        if username == 'jia' and password == '123':
            print('登录成功')
            break
        else:
            print('用户名或者密码有误')
            count += 1

7.猜年龄的游戏

7.猜年龄的游戏
 假设用户的真实年龄是18 编写一个猜年龄的游戏 获取用户猜测的年龄
 基本要求:可以无限制猜测 每次猜错给出提示(猜大了 猜小了) 猜对则结束程序
 拔高练习:每次猜测只有三次机会 一旦用完则提示用户是否继续尝试 用户通过输入n或者y来表示是否继续尝试 如果是y则继续给用户三次猜测机会 否则结束程序
# 1.定义用户的真实年龄
real_age = 18
count_num = 1
while True:
    if count_num == 4:
        choice = input('机会已用完,是否继续尝试,按y/n').strip()
        if choice == 'y':
            count_num =1
        else:
            print('下次再来玩')
            break
    # 2.获取用户的猜测年龄,并且进行强转
    guess_age = input('请输入你猜测的年龄').strip()
    guess_age = int(guess_age)
    # 3.判断年龄猜测是否正确
    if guess_age > real_age:
        print('猜大了,人家哪有那么大')
        count_num += 1
    elif guess_age < real_age:
        print('猜小了,人家也没有那么小啦')
        count_num += 1
    else:
        print('恭喜你,猜对了')
        break

image

8.判断列表中数字2出现的次数

8.判断列表中数字2出现的次数  
 l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2]
l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2]
 	 # 1.先定义一个记录数字2出现次数的计数器
    count_num = 0
    # 2.循环获取列表中每一个数据值判断是不是数字2
    for i in l1:
        # 3.如果i绑定的数据值是2 则让计数器自增1
        if i == 2:
            count_num += 1
    # 4.等待for循环运行结束 打印计数器
    print(count_num)

9.编写代码打印出下列图形(ps:for循环嵌套)

9.编写代码打印出下列图形(ps:for循环嵌套)  
*****  
*****  
*****  
*****
for i in range(4):   #  4行
    for j in range(5):     # 5列
        print('*', end='')
    print()          # 内存循环结束,换行

10.去重下列列表并保留数据值原来的顺序

10.去重下列列表并保留数据值原来的顺序
	eg: [1,2,3,2,1] 去重之后 [1,2,3]
	l1 = [2,3,2,1,2,3,2,3,4,3,4,3,2,3,5,6,5]
# 1.循环列表中的值
l1 = [2, 3, 2, 1, 2, 3, 2, 3, 4, 3, 4, 3, 2, 3, 5, 6, 5]
# 2.定义一个空列表
a = []
for i in l1:
    # 3.如果列表中的值不在空集合中,将值添加进空列表中
    if a not in l1:
        a.append(i)
print(a)

image

11.关系运算

11.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
  pythons={'jason','oscar','kevin','ricky','gangdan','biubiu'}
  linuxs={'kermit','tony','gangdan'}
  1. 求出即报名python又报名linux课程的学员名字集合
  2. 求出所有报名的学生名字集合
  3. 求出只报名python课程的学员名字
  4. 求出没有同时这两门课程的学员名字集合
pythons = {'jason', 'oscar', 'kevin', 'ricky', 'gangdan', 'biubiu'}
linuxs = {'kermit', 'tony', 'gangdan'}
print(pythons & linuxs)
print(pythons | linuxs)
print(pythons - linuxs)
print(pythons ^ linuxs)

image

12.统计列表中每个数据值出现的次数并组织成字典战士

12.统计列表中每个数据值出现的次数并组织成字典战士
	eg: l1 = ['jason','jason','kevin','oscar']
      结果:{'jason':2,'kevin':1,'oscar':1}
	真实数据
    	l1 = ['jason','jason','kevin','oscar','kevin','tony','kevin']
l1 = ['jason', 'jason', 'kevin', 'oscar', 'kevin', 'tony', 'kevin']
# 1.定义一个空集合
a = {}
# 2.循环列表的值
for i in l1:
    # 3.判断列表值是否在空列表中
    if a in l1:
        a[i] += 1   # 4.如果存在,数值加一,绑定新的值
    else:
        a[i] = 1
print(a)

image

posted @ 2022-10-03 17:38  小王应该在学习!  阅读(90)  评论(0编辑  收藏  举报