ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Python 四大核心编程案例复习大纲

2026/8/10 10:15:04 拓冰建站 浏览量
Python 四大核心编程案例复习大纲 1.位运算 计算56及-18的所有位运算符结果并使在注释中体现计算过程# 数值定义 a 56 b -18 先写出二进制8位辅助理解Python实际不限长度 56 原码00111000 -18计算 18原码00010010 18反码11101101 18补码11101110 → -18的补码 print(a , a, bin(a):, bin(a)) print(b , b, bin(b):, bin(b)) # 按位与 同为1才为1 res_and a b # 演算00111000 11101110 00101000 → 40 print(f56 -18 {res_and}) # 按位或 | 有1则1 res_or a | b # 00111000 | 11101110 11111110 → -2 print(f56 | -18 {res_or}) # 按位异或 ^ 不同为1相同为0 res_xor a ^ b # 00111000 ^ 11101110 11010110 → -42 print(f56 ^ -18 {res_xor}) # 按位取反 ~x -x -1 res_not_a ~a # ~56 -56 -1 -57 print(f~56 {res_not_a}) res_not_b ~b # ~(-18) 18 -1 17 print(f~(-18) {res_not_b}) # 左移 低位补0 res_a_left a 1 # 56 1 56*2 112 print(f56 1 {res_a_left}) # 右移 算术右移负数高位补1 res_b_right b 1 # -18 1 -9 print(f-18 1 {res_b_right})2.完成文件读取功能任意读取某个文件内容时请编写装饰器实现写出文件时增加当前系统时间并打印至控制台最后一行import time from datetime import datetime # 装饰器 def add_write_time(func): def wrapper(*args, **kwargs): result func(*args, **kwargs) now datetime.now().strftime(%Y-%m-%d %H:%M:%S) # args[0] 文件路径追加写入时间 with open(args[0], a, encodingutf-8) as f: f.write(f\n写入操作时间{now}) print(文件写入时间, now) return result return wrapper # 被装饰的写文件函数 add_write_time def write_file(filepath, content): with open(filepath, w, encodingutf-8) as f: f.write(content) # 读取文件函数 def read_file(filepath): with open(filepath, r, encodingutf-8) as f: return f.read() # 测试 write_file(test.txt, Hello Python) print(read_file(test.txt))3.给定一个包含n1个整数的数组nums其数字在1到n之间(包含1和n),可知至少存在一个重复的整数 假设只有一个重复的整数请找出这个重复的数def findDuplicate(nums): seen set() for num in nums: print(f当前遍历数字{num}集合现在{seen}) if num in seen: print(f找到重复数字{num}) return num seen.add(num) return -1 res findDuplicate([2,3,1,2])4.完成登录系统登录时数据使用序列化和反序列化import pickle users {admin:123456,test:666666} # 序列化保存用户字典到文件 with open(user.bin,wb) as f: pickle.dump(users,f) respickle.dumps(users) print(res) # 反序列化读取文件恢复字典 with open(user.bin,rb) as f: new_users pickle.load(f) print(new_users[test])