当前位置: 首页 > news >正文

python作业4

a = 56 b = -18 # 1. 按位与(&):对应位都为1则为1,否则为0 # 56: 00111000 # -18补码: 11101110 # 按位与: 00101000 → 十进制40 bit_and = a & b print(f"按位与(&): {a} & {b} = {bit_and}") # 2. 按位或(|):对应位有一个为1则为1 # 56: 00111000 # -18补码: 11101110 # 按位或: 11111110 → 十进制-2(补码转原码:取反10000001,加1得10000010即-2) bit_or = a | b print(f"按位或(|): {a} | {b} = {bit_or}") # 3. 按位异或(^):对应位不同则为1,相同则为0 # 56: 00111000 # -18补码: 11101110 # 按位异或: 11010110 → 十进制-42(补码转原码:取反00101001,加1得00101010即42,符号位为1 → -42) bit_xor = a ^ b print(f"按位异或(^): {a} ^ {b} = {bit_xor}") # 4. 按位取反(~):对每个位取反(Python中结果为 -x-1) # ~56: -(56+1) = -57 bit_not_a = ~a print(f"按位取反(~{a}): {bit_not_a}") # ~-18: -(-18+1) = 17 bit_not_b = ~b print(f"按位取反(~{b}): {bit_not_b}") # 5. 左移(<<):二进制左移n位,右边补0(等价于乘2^n) # 56 << 1: 56*2=112 left_shift_a = a << 1 print(f"{a} 左移1位(<<1): {left_shift_a}") # -18 << 1: -18*2=-36 left_shift_b = b << 1 print(f"{b} 左移1位(<<1): {left_shift_b}") # 6. 右移(>>):正数右移补0,负数右移补1(等价于除以2^n取整) # 56 >> 1: 56//2=28 right_shift_a = a >> 1 print(f"{a} 右移1位(>>1): {right_shift_a}") # -18 >> 1: -18//2=-9(Python中负数整除向负无穷取整) right_shift_b = b >> 1 print(f"{b} 右移1位(>>1): {right_shift_b}")
import time from functools import wraps def add_time_to_file(func): """装饰器:在文件读取后,向文件末尾添加当前时间,并打印到控制台""" @wraps(func) def wrapper(file_path, *args, **kwargs): # 1. 执行原函数(读取文件) content = func(file_path, *args, **kwargs) # 2. 获取当前系统时间(格式:年-月-日 时:分:秒) current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) time_str = f"\n[文件读取时间] {current_time}" # 换行避免与原内容混淆 # 3. 以追加模式打开文件,写入时间 with open(file_path, 'a', encoding='utf-8') as f: f.write(time_str) # 4. 打印时间到控制台最后一行 print(time_str) # 5. 返回原函数的读取结果 return content return wrapper # 被装饰的文件读取函数 @add_time_to_file def read_file(file_path): """读取文件内容的函数""" with open(file_path, 'r', encoding='utf-8') as f: return f.read() # 测试:读取test.txt文件(需确保该文件存在) if __name__ == "__main__": file_content = read_file("test.txt") print("文件原内容:") print(file_content)
def findDuplicate(nums): n = len(nums) - 1 sum_1_to_n = n * (n + 1) // 2 # 1到n的和 sum_nums = sum(nums) # 数组实际总和 return sum_nums - sum_1_to_n
import pickle import os # 存储用户信息的文件 USER_FILE = "users.pkl" def init_users(): """初始化用户文件(若不存在则创建空字典)""" if not os.path.exists(USER_FILE): with open(USER_FILE, "wb") as f: pickle.dump({}, f) # 空字典:键为账号,值为密码 def register(username, password): """注册:序列化保存用户信息""" # 反序列化读取现有用户 with open(USER_FILE, "rb") as f: users = pickle.load(f) if username in users: return False, "账号已存在" # 添加新用户并序列化保存 users[username] = password with open(USER_FILE, "wb") as f: pickle.dump(users, f) return True, "注册成功" def login(username, password): """登录:反序列化验证用户信息""" # 反序列化读取现有用户 with open(USER_FILE, "rb") as f: users = pickle.load(f) if username not in users: return False, "账号不存在" if users[username] != password: return False, "密码错误" return True, "登录成功" # 系统入口 if __name__ == "__main__": init_users() # 初始化用户文件 while True: print("\n=== 登录系统 ===") print("1. 注册") print("2. 登录") print("3. 退出") choice = input("请选择操作(1/2/3):") if choice == "1": username = input("输入注册账号:") password = input("输入注册密码:") success, msg = register(username, password) print(msg) elif choice == "2": username = input("输入登录账号:") password = input("输入登录密码:") success, msg = login(username, password) print(msg) if success: break # 登录成功后退出循环 elif choice == "3": print("退出系统") break else: print("无效操作,请重新选择")
http://www.cnnetsun.cn/news/174698.html

相关文章:

  • 零代码上手Google Gemini 3:5种实用方法大揭秘
  • “你用的那个AI,到底把你坑了还是救了?”——解锁宏智树论文的协作新范式
  • 好写作AI:别等学校采购了!你的论文“救命神器”自己就能用上
  • Windows系统文件GdiPlus.dll丢失或损坏 下载修复方法
  • 研究生必备8款AI写论文神器:5分钟生成25000字问卷类论文,自动生成高信度数据
  • 【BuildFlow 筑流】unitrix_macros库 Cargo.toml 配置详解及依赖库用法
  • 《开发者出海必看:如何优雅地搞定海外服务支付?(保姆级干货)》
  • Thinkphp和Laravel企业防爆安全设备信息系统
  • Thinkphp和Laravel全家桶鲜花售卖商城系统vue
  • 记录我适配iOS26遇到的一些问题
  • 通过命令模拟pod创建
  • 同步机无感 STM32 低成本 MD500E 永磁同步控制方案大揭秘
  • 小宝玩具 【通达信、源码 、主图、附图】
  • 使用 Github Pages 和 Hexo
  • 审稿 一区期刊注意事项: journal offers the option to connec;please note, reviewers are not expected 是什么意思
  • 线性代数:多维世界的变形工具箱
  • 力扣题目142. 环形链表 II​的解法分享,附图解
  • MATLAB电力系统继电保护之自动重合闸
  • 10 个AI写作工具,助你轻松搞定继续教育论文!
  • 【开题答辩全过程】以 基于Vue的茶道知识科普网站的设计与实现为例,包含答辩的问题和答案
  • 主动配电网两阶段鲁棒恢复:Matlab 代码探索之旅
  • ICG-20660L加速度+陀螺仪六轴IMU传感器原理图设计,已量产(加速度传感器)
  • 百度AI架构师亲授:Agentic智能体在医疗领域的落地(附诊断案例)
  • 软件工程期末高频易错点深度剖析:避开这些坑,你就赢了!
  • 打破 AI 创作枷锁!虎贲等考 AI 双效赋能,让学术原创不设限
  • AI 赋能学术演示!虎贲等考 AI PPT,让科研汇报告别 “无效努力”
  • 听完这场AI产品大会,我觉得如果不赚钱,所谓的提效真的毫无意义。
  • PWN手的成长之路-19-int_overflow
  • Thinkphp和Laravel党员素质能力提升管理系统vue
  • 【权威对比】Open-AutoGLM与Parasoft SOAtest集成能力评测:数据背后的真相