买包的小行家

2023-10-21 23:50
文章标签 行家 买包

本文主要是介绍买包的小行家,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1.数学类
    • 全排列
    • 序列组合
    • 组合数(用到阶乘)
    • 简单数论
      • 最小公倍数、最大公约数
      • 质数+素数筛
    • 矩阵快速幂
    • 获取一个数的二进制
  • 2.工具类
    • 回文数
    • 字典
      • 字典的排序
      • 字典的计数
    • 日期
    • 字符串
      • 字符串拼接
      • 字符串分割
  • 3.容器类
    • 队列
      • 快捷键:

1.数学类

全排列

itertools 迭代工具 permutations 排列、序列

from itertools import permutations
print(list(permutations([1, 2, 3]))) 
#求几个的全排列

序列组合

#combinations 合并、结合
from itertools import combinations
print(list(combinations([1,2,3,5],3)))
#在序列【1,2,3,5】中任意三个数的组合

组合数(用到阶乘)

组合数

import math
def c(m, n):return math.factorial(n) // (math.factorial(m) * math.factorial(n - m))#print(math.factorial(5)) #5的阶乘:5*4*3*2*1

简单数论

最小公倍数、最大公约数

def gcd(a,b):if a%b==0:return belse:gcd(b,a%b)
"""
如果gcd(10,25):10%25=10 !=0 进入
gcd(25,10): 25%10=5  进入
gdc(10,5):%后为0,则 5是最大公约数"""
def lcm(n1,n2):return n1 * n2

质数+素数筛

1.试除法:普通做法

def isPrim(n):if n<2:return Falsefor i in range(2,int(n//2)+1): 		  #这里写n也没事if n%i==0:return Falsereturn True
#求1到n多少质数 存再数组a中
a=[]
n=int(input())
for i in range(n+1):if isPrim(i):a.append(i)
print(a)
"""
为什么是(2,sqrt(n))
如果a是n的约数,那么n/a也是n的约数。易知(a,n/a)是成对的
我们检验的是其中较小的那个数,在[1,n^0.5]区间中"""

埃式筛法 :通过倍率去除的效率太快了

#筛选法 求1到n多少质数
def countPrim(n):count = 0signs = [True] * (n+1)for i in range(2, n+1):if signs[i]:					 count += 1for j in range(i + i, n+1, i):#i倍signs[j] = Falsereturn count

未补充:试求下题
唯一分解定理

自己的错误解法
import math
from math import sqrt
n=9                         #假设求9的阶乘
a=[ 0  for i in range(n+1)] #先初始化一个数组
def add(x):                 #add函数 假设加了8:2*2*2 则在下标为2加3for i in range(2,int(sqrt(x))+1):while x%i==0:       #若能除2,则a[2]+=1,再把x除2a[i]+=1x//=iif x>1:a[x]+=1
for i in range(2,n+1):      #add(i)

矩阵快速幂

还有欧拉函数 不知道会不会考

获取一个数的二进制

def getbin(n):b=str(bin(n))if n<0:return b[3:]else:return b[2:]
a=int(input())
print(getbin(a))
"""
bin(n) 转换出的二进制是 0b+n 或者-0b+n
想要只保留二进制形式,则
正数 [2:]  负数[3:]
"""

2.工具类

回文数

def huiwenshu(n):return n>-1 and str(n)[::-1]==str(n)
n=int(input())
print(huiwenshu(n))

字典

字典的排序

import collections
d=dict(collections.Counter('Hello World'))	
#Counter:跟踪值出现的次数。 元素作为key,其计数作为value 
#也就是说,d只是一个统计次数的字典而已,并无规律可言#按照出现的次数进行排序
print(sorted(d.items(),key=lambda x:x[1]))					#默认:	  由小到大
print(sorted(d.items(),key=lambda x:x[1],reverse=True))		#反转为真:由大到小
“”“
key=lambda 变量:变量[维数]
key=lambda x: x[1] 
x:x[ ]字母可以随意修改,[0]按照第一维排序,[1]按照第二维(即value)排序
”“”

字典的计数

import collections
#1:传入一个序列
print(collections.Counter(['a','a','b','c','a','d','a']))
#2:传入一个字典
print(collections.Counter({'a':2,'b':3,'c':1}))
#3:用’=‘传值
print(collections.Counter(a=2,b=3,c=1))

日期

输入字符串"2121:21:12"返回当前秒数:
? .isoweekday .day

import datetime
#datetime是时间模块
d=datetime.datetime(2001,5,15,13,59,59) 									 #默认 年月日 时分秒
dt = datetime.timedelta(days=1, seconds=1,minutes=1, hours=1, weeks=1)	 #需要注明多少天多少小时
#timedelta是时间差,不过可以被实例化出来
print(d)
print(dt)

在这里插入图片描述

字符串

字符串拼接

s=input()
res=''
for i in s:if i in "abcdef":res+=i.upper()
print(res)

字符串分割

#m是一连串字符串
”“”
sadadas
asdasda
asdqwqw
“”“
matrix = m.split('\n')  
可将其分割成数组里的部分

str(时间)---->秒数

def get_second(t):h,m,s = map(int,t.split(':')) # 分别得到hour,minute,secondreturn h*3600+m*60+s

3.容器类

队列

from collections import deque
d=deque()
d.append(1)
d.append(2)
d.append(3)d.appendleft(4)     #在队首添加元素print(d.popleft())  #弹出队首元素
print(d.pop())      #弹出队尾元素

快捷键:

Fn键,再按F1到F12里的任意一个
part1:

缩进:    Ctrl+ ]
取消缩进: Ctrl+[
注释:     Alt+3
取消缩进: Alt+4
Ctrl+F6:可以清空前面的记录,重启shell

part2:

创建新文件:Ctrl+N
运行     :F5
单词补齐 :Alt+/
关键字后 按tab:出现可以调用的方法

这篇关于买包的小行家的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/257742

相关文章

ChatGPT 的行家指南

原文:An Insider’s Guide to using ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 介绍 你是否厌倦了花费无数小时为你的业务创建内容?从博客文章到社交媒体更新,从电子书内容到电子邮件,这可能是一个耗时的过程。但如果有一种方法可以在通常所需时间的一小部分内写出所有这些内容,而无需雇用额外的帮助呢? 嗯,答案就在人工智能(AI)应用的力量中。AI

买净水器净化器怕被坑?315记住这几条你就是行家

小白兔白又白,两只耳朵拎起来, 割完动脉割静脉,一动不动真可爱。 这是一首生物学生必背的恐怖民谣,其中描绘的医患关系十分紧张,一只小白兔等待着被开肠破肚,另一头一个生物学生正在磨刀霍霍。这个场景是活体解剖课堂不假,但里面的这只小白兔,你不觉得跟你很像吗? 在我们不熟悉的领域,在我们准备掏钱的时候,我们又和这只小白兔有什么区别? “我不想再做小白兔了!!” 好的。 今天,笔者就

提升战斗力!吃鸡行家分享顶级游戏干货,助你轻松拿下绝地求生

作为吃鸡行家,我们都知道,在绝地求生中提高战斗力至关重要。今天我来分享一些独特的干货,帮助你成为顶级的吃鸡玩家,并分享一些方便吃鸡作图、装备皮肤库存展示和查询的技巧。 首先,让我们来谈谈绝地求生作图工具推荐。为了在游戏中更好地展示你的战绩和技巧,我推荐使用闲游盒作图工具。它简洁易用,可以让你快速制作出漂亮的游戏战绩和库存图,让你的朋友们羡慕不已。 接下来,让我们来看看如何通过pubg战