1.在做质因数个数的题时有两个trick,判断质因数:首先可以去除偶数,然后借助基本算数定理
(资料图片仅供参考)
2.取整
3.1TB= 1024 GB、1GB=1024MB、1MB = 1024KB、1KB = 1024字节、 1字节 = 8位=8 bit
4.把x保留到小数点后要求的位数
round(x,3)print(‘%.3f’%x)print(“{:.3f}”.format(x))5.进制转换
(1)任意进制转化为十进制,通用方法
print(int("1011",2)) 输出为11,int函数中,前面的数表示为二进制的字符类型,后面的2表示为二进制。同理8进制和十六进制转为十进制也是相同的方法。
(2)十进制转化为二进制、八进制、十六进制
print(bin(10))print(oct(100))print(hex(1011))hex() 十进制转化为十六进制
oct() 十进制转化为八进制
bin() 十进制转化为二进制
6.大小写转换
upper() 小写字母转换为大写字母lower() 大写字母转换为小写字母7.列表操作
切片:
list[m:n] 从list的索引m开始,到索引n的前一个值list1=list[::-1] 表示list1是list的逆序"".join(list) 把list中的元素合成一个字符串列表常用的方法:
list.append() 末尾增加list.insert() 插入,可指定位置list.pop() 删除,可指定位置8.calendar模块
import calendar#返回指定日期的星期码,从0开始的calendar.weekday(year,mon,day)#返回该月第一天的星期码与该月的天数,以元组的形式返回。 calendar.monthrange(year,mon)#返回(year1, year2)中的闰年个数 calendar.leapdays(year1,year2)#判断指定年份是否为闰年,返回布尔值判定 calendar.isleap(year)#返回指定年份的日历(以字符串的形式),这个最好是在本地调试使用,对于一些星期计数的填空题,可以直接数。calendar.calendar(year) 9.去重
lst = list(set(l1))利用set()方法最简单,但会改变其顺序。
10.回文数判断
a=12345654321str(a)[::1]==str(a)[::-1]11.排序
(1) sort()方法
用于对原列表进行排序(默认为升序排序),排序后的新列表会覆盖原列表。
x = [3, 2, 1, 4]x.sort()print(x)(2) reverse()方法
用于将列表中的元素反向存放。请记住这是倒序输出。
x = [3, 2, 1, 4]x.reverse()print(x)(3) sorted()方法
x = [3, 2, 1, 4]y = sorted(x)print(x)print(y)降序排列:
y = sorted(x,reverse=True)12.全排列代码
from itertools import permutations#也可以是字符print(list(permutations([1, 2, 3]))) # [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]13.阶乘
import mathmath.factorial(5)14.队列
from collections import deque# 初始化一个最大长度为3的队列d = deque([1,2,3], maxlen=3)# 因为初始化队列最大长度为3,再添加元素会把队头元素挤出d.append(4)# 初始化一个不限制长度的队列d = deque()# 添加元素到队尾部d.append(1)d.append(2)d.append(3)# 将队首的元素弹出返回print(d.popleft()) # 弹出队尾元素并返回值print(d.pop())# 在队首插入元素d.appendleft(0)15.质数判断
def isPrim(n: int) -> bool: """判断是否是质数 O(✓n)""" if n < 2: return False for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return True例如:质因数个数
n = int(input())ans = 0i = 2while i*i<=n: if n%i==0: ans+=1 while n%i==0: n//=i i+=1if n>1: ans+=1print(ans)16.最大公约数
def gcd(n1, n2): return gcd(n2, n1 % n2) if n2 > 0 else n117.最小公倍数
def gcd(n1, n2): return gcd(n2, n1 % n2) if n2 > 0 else n1def lcm(n1, n2): return (n1 * n2) // gcd(n1, n2) 标签: