[Python]常用代码块
3天速通了一波python PTA的语法题,感觉和c/c++差不了太多吧。东西很少都是基础的玩意,主要防止暑假上去忘记了,以后如果有别的那再补充好了。
代码片段
输入
每行一个输入
a=input()
输入转化为整形,直接input是字符串
n=int(input())
数量知道,一行输入,空格间隔
a,b,c=map(int,input().split())
a,b=map(int,input().split(','))#split参数是分隔符
不知道数量,把输入数字转化成列表
number=list(map(int,input().split()))
输出
f表示字符串内部有变量,end定义结束符,默认为换行符
print(f"sum= {sum} ",end="")
浮点数精度控制
print(f"f(%.1f)"%x + " = %.1f"%result)
join,输出迭代对象并用指定连接符连接
print(" ".join(a))
列表
二维列表
n=int(input())
list_n=[]
for i in range(n):
list_n.append(list(map(int,input().split())))
获取下标
num.index(a)
列表去重(利用not int)
for num in numbers:
if str(num) not in a:
a.append(str(num))
字符串
常用函数
ord('A') #获取ascii
ch.lower() #获取小写
ch.upper() #获取大写
字符串反转(切片法)
str=input()
rev=str[::-1]
替换字符
s=s.replace('[','')
s=s.replace(']','')
s=s.replace(']','').replace('[','') #可以连着写
排序
sort永久排序,sorted临时排序
number=[3,2,1]
number.sort()
t.sort(key=lambda x : ord(x[0]) if type(x[0]) == str else x[0])
sorted(student_tuples, key=itemgetter(2), reverse=True) #临时排序,sort和sorted参数差的不多
#第一个是要排的对象,第二个是关键字(基于什么比较),第三个是是否逆序
输出全排列
import itertools
n=int(input())
nums = [str(value) for value in range(1,n+1)]
for num in itertools.permutations(nums, n):
print("".join(num))
其他
判断数字
for i in num:
if i.replace("-","").isdigit():#处理负号replace
ans+=int(i)
判是否构成三角形
a,b,c=map(int,input().split())
if (a+b+c)/2>max(a,b,c):
print("yes")
else:
print("no")
判断素数
def is_prime(x):
if x==1:
return False
if x==2:
return True
i=2
while i*i<=x:
if x%i==0:
return False
i=i+1
return True
求gcd和lcm
import math
m,n=map(int,input().split())
g=math.gcd(m,n)
l=int(m*n/g)
print(f"{g} {l}")
eval函数计算字符串表达式
sum=eval(input())