Python第二周作业

'''python
1.根据用户输入内容打印其权限

jason --> 超级管理员
tom --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
######################################################
while True:
username = input('username>>>:')
if username == 'jason':
print('超级管理员')
elif username == 'tom':
print('普通管理员')
elif username == 'jack' or username == 'rain':
print('业务主管')
elif username == 'quit':
break
else:
print('普通用户')
######################################################
2.编写用户登录程序
要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
eg:black_user_list = ['jason','kevin','tony']
如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
eg: oscar 123

######################################################
while True:
name = 'oscar'
passwd = '123'
name = input('username>>>:').strip()
passwd = input('userpasswd>>>:').strip()
if name == 'jason' or name == 'kevin' or name == 'tony':
print('拒绝登录')
elif name == 'quit':
break
else:
if name == 'oscar' and passwd == '123':
print('登录成功')
else:
print('登录失败')
######################################################

3.编写一个用户登录程序
用户如果登录失败 则只能尝试三次
用户如果登录成功 则直接结束程序

######################################################
login = 0
while login < 3:
name = 'oscar'
passwd = '123'
name = input('username>>>:').strip()
passwd = input('userpasswd>>>:').strip()
if name == 'oscar' and passwd == '123':
print('登录成功')
break
else:
print('登录失败')
login += 1
######################################################
4.编写一个用户登录程序
用户如果登录失败 可以无限制尝试
用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
给用户提供一个退出命令 用户一旦输入则退出整个程序
eg: 用户输入q指令 则程序先打印该指令再结束

######################################################
while True:
name = 'root'
passwd = '123'
name = input('username>>>:').strip()
passwd = input('userpasswd>>>:').strip()
cmd = input('cmd:')
if name == 'root' and passwd == '123':
print('登录成功')
print('正在执行您的指令:%s' % cmd)
elif name == 'q':
break
else:
print('登录失败')
######################################################
#5.编写猜年龄的游戏
代码提前定义出真实的年龄 之后获取用户猜测的年龄判断
用户有三次猜测的机会 如果用完则提示用户是否继续尝试
用户输入y则继续给三次机会 如果用户输入q则直接结束程序
######################################################
age = 22
limit = 0
while limit < 3:
name = input('username>>>:').strip()
if name == '22':
print('登录成功')
break
else:
print('登录失败')
limit += 1
else:
name2 = input('是否继续尝试>>>:')
if name2 == 'y':
##
######################################################
6.计算1-100所有的数之和
######################################################
number = 0
for i in range(1,101):
number = number+i
i += 1
print(number)
######################################################
7.编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****
######################################################
for i in range(4):
print(" ", end='')
for j in range(5):
print("*", end='')
print()
######################################################
8.基于字符串充当数据库完成用户登录(基础练习)
data_source = 'jason|123' # 一个用户数据
获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
######################################################
while True:
data_source = 'jason|123'
user = data_source[0:4]
passwd = data_source[6:9]
name = input('username>>>:').strip()
passwd = input('userpasswd>>>:').strip()
if name == 'jason' and passwd == '123':
print('登录成功')
elif name == 'q':
break
else:
print('登录失败')
######################################################
#9.基于列表充当数据库完成用户登录(拔高练习) # 多个用户数据
data_source = ['jason|123', 'kevin|321','oscar|222']
######################################################
while True:
data_source = ['jason|123', 'kevin|321','oscar|222']
data_source = print(str(data_source))
print(data_source[0])
name = input('username>>>:').strip()
passwd = input('userpasswd>>>:').strip()
if name == 'jason' and passwd == '123' or name == 'kevin' and passwd == '321' or name == 'oscar' and passwd == '222':
print('登录成功')
elif name == 'q':
break
else:
print('登录失败')
######################################################
#10.编写员工管理系统
1.添加员工信息
2.修改员工薪资
3.查看指定员工
4.查看所有员工
5.删除员工数据
提示:用户数据有编号、姓名、年龄、岗位、薪资
数据格式采用字典:思考如何精准定位具体数据>>>:用户编号的作用
######################################################
yuangong = {
'id': '0',
'name': 'jason',
'are': 22,
'gangway': '老师',
'xinzi': '1000'
}
while True:
cmd = input('请输入指令>>>:')
if cmd == 's':
print(yuangong)
elif cmd == 'u':
yuangong['id'] = '1'
elif cmd == 'i':
yuangong['test'] = 'test'
elif cmd == 'd':
del yuangong['test']
else:
pass
######################################################
11.去重下列列表并保留数据值原来的顺序
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]

######################################################
list1 = [2,3,2,1,2,3,2,3,4,3,4,3,2,3,5,6,5]
list2 = []
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
######################################################
12.统计列表中每个数据值出现的次数并组织成字典展示
eg: l1 = ['jason','jason','kevin','oscar']
结果:{'jason':2,'kevin':1,'oscar':1}
真实数据
l1 = ['jason','jason','kevin','oscar','kevin','tony','kevin']

######################################################
list1 = ['jason','jason','kevin','oscar','kevin','tony','kevin']
empty_dict = {}
for i in list1:
if i in empty_dict:
empty_dict[i] += 1
else:
empty_dict[i] = 1
print(empty_dict)
######################################################
13.编写简易版本的拷贝工具
自己输入想要拷贝的数据路径 自己输入拷贝到哪个地方的目标路径
任何类型数据皆可拷贝
ps:个别电脑C盘文件由于权限问题可能无法拷贝 换其他盘尝试即可

######################################################
with open('a.txt', 'rb') as read_f, open('b.txt', 'wb') as write_f:
for line in read_f:
write_f.write(line)
######################################################
14.利用文件充当数据库编写用户登录、注册功能
文件名称:userinfo.txt
基础要求:
用户注册功能>>>:文件内添加用户数据(用户名、密码等)
用户登录功能>>>:读取文件内用户数据做校验
ps:上述功能只需要实现一次就算过关(单用户) 文件内始终就一个用户信息
拔高要求:
用户可以连续注册
用户可以多账号切换登录(多用户) 文件内有多个用户信息
ps:思考多用户数据情况下如何组织文件内数据结构较为简单
提示:本质其实就是昨天作业的第二道题 只不过数据库由数据类型变成文件

######################################################
while True:
print("""
1.用户注册
2.用户登录
3.退出
""")
choice = input('请输入您想要操作的指令:')
if choice == '1':
user_name = input('请输入用户名:').strip()
with open(r'userinfo.txt', 'r', encoding='utf8') as f:
for line in f:
real_name = line.split('|')[0]
if real_name == user_name:
print('用户名已存在,请重新输入')
break
else:
user_pwd = input('请输入密码:').strip()
user_data = '%s|%s\n' % (user_name, user_pwd)
with open(r'userinfo.txt', 'a', encoding='utf8') as f:
f.write(user_data)
print(f'用户{user_name}注册成功')
elif choice == '2':
user_name = input('请输入用户名:').strip()
user_pwd = input('请输入密码:').strip()
with open(r'userinfo.txt', 'r', encoding='utf8') as f:
for line in f:
real_name, real_pwd = line.split('|')
if user_name == real_name and user_pwd == real_pwd.rstrip('\n'):
print('用户登录成功')
break
else:
print('用户名或密码错误,用户登录失败')
elif choice == '3':
print('退出成功')
break
else:
print('输入指令错误,请重新输入')
######################################################
'''


posted @ 2022-08-13 16:40  呼长喜  阅读(32)  评论(0编辑  收藏  举报