作业
一、必做题
1、第一题
- 编写用户验证接口,实现接收用户输入的账号和密码,并进行验证,验证成功后输出"登录成功",否则输出"登录失败"
access_info = {
'WangMao': '123',
'egon': '123'
}
inp_username = input('请输入用户账号>>:').strip()
inp_password = input('请输入用户密码>>:').strip()
if inp_username in access_info:
if access_info.get(inp_username) == inp_password:
print('登录成功')
else:
print('密码错误,登录失败')
else:
print('用户不存在')
2、第二题
'''
egon --> 超级管理员
tom --> 普通管理员
jack, rain --> 业务主管
其他 --> 普通用户
'''
"""
inp_jurisdiction = input('请输入>>:').strip()
if inp_jurisdiction == 'egon':
print('超级管理员')
elif inp_jurisdiction == 'tom':
print('普通管理员')
elif inp_jurisdiction == 'jack' or inp_jurisdiction == 'rain':
print('业务主管')
else:
print('普通用户')
"""
# 简化以上方法:使用in代替上面or
inp_jurisdiction = input('请输入>>:').strip()
if inp_jurisdiction == 'egon':
print('超级管理员')
elif inp_jurisdiction == 'tom':
print('普通管理员')
elif inp_jurisdiction in ['jack', 'rain']:
print('业务主管')
else:
print('普通用户')
3、第三题
'''
如果:今天是Monday,那么:上班
如果:今天是Tuesday,那么:上班
如果:今天是Wednesday,那么:上班
如果:今天是Thursday,那么:上班
如果:今天是Friday,那么:上班
如果:今天是Saturday,那么:出去浪
如果:今天是Sunday,那么:出去浪
'''
"""
inp_week = input('今天是星期几>>:').strip()
if inp_week == 'Monday' or \
inp_week == 'Tuesday' or \
inp_week == 'Wednesday' or \
inp_week == 'Thursday' or \
inp_week == 'Friday':
print('上班')
elif inp_week == 'Saturday' or inp_week == 'Sunday':
print('出去浪')
else:
print('输入不在执行范围')
"""
# 简化以上方法:使用in替代上面or
inp_week = input('今天是星期几>>:').strip()
if inp_week in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print('上班')
elif inp_week in ['Saturday' ,'Sunday']:
print('出去浪')
else:
print('输入不在执行范围')
4、第四题
- 要求用户输入一个文件路径,如果文件路径不是以".jpeg"结尾的,那么打印"文件检索失败",否则打印"文件检索成功"
# 判断方法:'D:\test.jpeg'.endswith('.jpeg')
"""
使用方法不准确:这里不因该使用split方法,而是因该使用endswith方法
inp_file_path = input('请输入文件路径>>:').strip()
inp_list = inp_file_path.split('.')
if inp_list[-1] == 'jpeg':
print('文件检索成功')
else:
print('文件检索失败')
"""
# 订正
inp_file_path = input('请输入文件路径>>:').strip()
if inp_file_path.endswith('.jpeg'):
print('文件检索成功')
else:
print('文件检索失败')
5、第五题
'''
需求:
如果用户输入键的编码数字在32和127之间,代表输入的是常规按键,
那么进一步判断,用户输入键对应的值,是否是"V"或者"C",
如果成立,则依次执行下述代码打印"用户执行的是粘贴操作,正在从粘贴板获取用户粘贴的数据"
否则输出"监听到非常规输入,即shift、空格、各种符号之类的"
'''
hooked_key_ascii = 35 # 代表用户键盘输入的键对应的编码数字
hooked_key = 35 # 代表用户键盘输入的键对应的值
"""
题意理解错误:
keyboard_input = input('输入键盘内容>>:').strip()
if keyboard_input.isdigit():
keyboard_input = int(keyboard_input)
if keyboard_input > 32 and keyboard_input < 127:
print('输入的是常规按键')
elif keyboard_input.lower() == 'v' or keyboard_input.lower() == 'c':
print('用户执行的是粘贴操作,正在从粘贴板获取用户粘贴的数据')
else:
print('监听到非常规输入,即shift、空格、各种符号之类的')
"""
# 订正
if hooked_key_ascii > 32 and hooked_key_ascii < 127:
if hooked_key in ['v', 'c']:
print('用户执行的是粘贴操作,正在从粘贴板获取用户粘贴的数据')
else:
print('监听到非常规输入,即shift、空格、各种符号之类的')
二、选做题
选做题1
# 1、输入账号密码完成验证,验证通过后输出"登录成功"
# 2、可以登录不同的用户
# 3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)
# 扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
选做题2