news 2026/6/23 20:17:10

Python第四次作业

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python第四次作业

1.位运算: 计算56及-18的所有位运算符结果,并使在注释中体现计算过程

a = 56 b = -18 # 1. 按位与 (&) # 56: 00000000 00000000 00000000 00111000 # -18: 11111111 11111111 11111111 11101110 # & : 00000000 00000000 00000000 00101000 = 40 print(a & b) #40 # 2. 按位或 (|) # 56: 00000000 00000000 00000000 00111000 # -18: 11111111 11111111 11111111 11101110 # | : 11111111 11111111 11111111 11111110 = -2 (补码转原码:取反加1得00000010,即-2) print(a | b) # -2 # 3. 按位异或 (^) # 56: 00000000 00000000 00000000 00111000 # -18: 11111111 11111111 11111111 11101110 # ^ : 11111111 11111111 11111111 11010110 = -42 (补码转原码:取反加1得00101010,即-42) print(a ^b) #-42 # 4. 按位取反 (~) # ~56: 对56取反 # 56: 00000000 00000000 00000000 00111000 # ~56: 11111111 11111111 11111111 11000111 = -57 print(~a) #-57 # ~(-18): 对-18取反 # -18: 11111111 11111111 11111111 11101110 # ~ : 00000000 00000000 00000000 00010001 = 17 print(~b) #17 # 5. 左移1位 (<< 1) # 56 << 1: 左移后低位补0 # 56: 00000000 00000000 00000000 00111000 # <<1: 00000000 00000000 00000000 01110000 = 112 print(a << 1)#112 # -18 << 1: 左移后低位补0 # -18: 11111111 11111111 11111111 11101110 # <<1: 11111111 11111111 11111111 11011100 = -36 print(b << 1)#-36 # 6. 算术右移1位 (>> 1) # 56 >> 1: 右移后高位补符号位0 # 56: 00000000 00000000 00000000 00111000 # >>1: 00000000 00000000 00000000 00011100 = 28 print(a >> 1)#28 # -18 >> 1: 右移后高位补符号位1 # -18: 11111111 11111111 11111111 11101110 # >>1: 11111111 11111111 11111111 11110111 = -9 print(b >> 1)#-9

2.完成文件读取功能,任意读取某个文件内容时,请编写装饰器,实现写出文件时增加当前系统时间,并打印至控制台最后一行

def time_file(time): def decorator(func): def wrapper(*args, **kwargs): with open("../time.txt","a+") as f: f.write(f"{time}\n") func(*args, **kwargs) return wrapper return decorator import time time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) @time_file(time) def test(): with open("../time.txt","r+") as f: print(f.read()) test()

3.给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数 假设只有一个重复的整数,请找出这个重复的数

# 1.元组方法 nums = (1,2,2,3,4,5) print(nums.count(2)) # 通过遍历+count() def find_duplicate(nums): for i in nums: if nums.count(i) > 1: return i return None print(find_duplicate(nums))

4.完成登录系统,登录时数据使用序列化和反序列化

import pickle import os # 定义用户数据文件路径 USER_DATA_FILE = "../data.txt" # 初始化用户数据文件(首次运行创建空字典) if not os.path.exists(USER_DATA_FILE): with open(USER_DATA_FILE, "wb") as f: pickle.dump({}, f) # 序列化:保存用户数据到文件 def save_user_data(user_data): with open(USER_DATA_FILE, "wb") as f: pickle.dump(user_data, f) # 反序列化:从文件加载用户数据 def load_user_data(): with open(USER_DATA_FILE, "rb") as f: return pickle.load(f) # 注册功能 def register(): username = input("请输入要注册的用户名:") password = input("请输入您的密码:") # 加载已有用户数据 user_data = load_user_data() if username in user_data: print("用户名已存在!") return False # 保存新用户 user_data[username] = password save_user_data(user_data) print("注册成功!") return True # 登录功能 def login(): username = input("请输入用户名:") password = input("请输入密码:") # 加载用户数据(反序列化) user_data = load_user_data() if username not in user_data: print("用户名不存在!") return False if user_data[username] == password: print("登录成功!") return True else: print("密码错误!") return False # 主菜单 def main(): while True: print("\n===== 登录系统 =====") print("1. 注册") print("2. 登录") print("3. 退出") choice = input("请选择操作(1/2/3):") if choice == "1": register() elif choice == "2": login() elif choice == "3": print("退出系统,再见!") break else: print("输入错误,请重新选择!") # 运行系统 if __name__ == "__main__": main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 17:49:36

Linly-Talker在展览馆展品解说中的创新实践

Linly-Talker在展览馆展品解说中的创新实践 在一座安静的博物馆展厅里&#xff0c;一位小学生站在唐代三彩骆驼俑前&#xff0c;仰头问道&#xff1a;“这个骆驼为什么是绿色的&#xff1f;”话音刚落&#xff0c;展台上的数字讲解员微微点头&#xff0c;眼神温和地回应&#x…

作者头像 李华
网站建设 2026/6/22 20:55:42

Linly-Talker能否生成宠物医生形象进行养宠科普?

Linly-Talker能否生成宠物医生形象进行养宠科普&#xff1f; 在如今短视频与智能交互主导信息传播的时代&#xff0c;越来越多的专业知识正通过“拟人化数字角色”走进大众视野。比如&#xff0c;一位忙碌的宠物医生可能无暇每天拍摄数十条科普视频&#xff0c;但用户对“我家狗…

作者头像 李华
网站建设 2026/6/23 2:47:51

Linly-Talker能否用于房地产楼盘介绍虚拟销售?

Linly-Talker在房地产虚拟销售中的应用探索 在智慧地产加速落地的今天&#xff0c;购房者获取信息的方式早已不再局限于线下沙盘讲解或静态图文介绍。尤其是在一线城市&#xff0c;客户往往希望在深夜浏览楼盘详情时也能即时获得专业解答&#xff1b;而开发商则面临销售团队流动…

作者头像 李华
网站建设 2026/6/23 19:30:21

Linly-Talker如何优化弱网环境下的音画同步?

Linly-Talker如何优化弱网环境下的音画同步&#xff1f; 在5G普及、AI数字人走向大众的今天&#xff0c;一个现实却常被忽视的问题浮出水面&#xff1a;大多数系统设计都假设用户处于高速稳定的网络环境中。然而&#xff0c;在偏远地区直播带货、乡村远程教学或地铁通勤中使用智…

作者头像 李华
网站建设 2026/6/23 19:33:17

26、虚拟机迁移配置全解析

虚拟机迁移配置全解析 1. 共享虚拟硬盘配置 在为来宾群集使用共享虚拟硬盘时,需要确保满足以下要求: - Hyper - V 故障转移群集配置 :需按照相关说明配置 Hyper - V 故障转移群集,且 Hyper - V 主机必须运行 Windows Server 2012 R2。 - 存储方式 :使用群集共享卷…

作者头像 李华
网站建设 2026/6/23 19:33:45

Linly-Talker支持RBAC权限控制系统吗?

Linly-Talker 支持 RBAC 权限控制系统吗&#xff1f; 在当前 AI 数字人技术快速落地的背景下&#xff0c;越来越多企业开始将虚拟主播、智能客服等交互式系统引入实际业务流程。随着使用场景从“演示原型”走向“生产部署”&#xff0c;一个问题逐渐浮现&#xff1a;这类系统是…

作者头像 李华