[Python]常用代码块

[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())