近期实操题归纳总结
近期实操题归纳总结
目录
实操题注意点:
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
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)
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)
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)