前言
基础薄弱,总结刷题时遇到的常用函数
assert
断言
assert a<=1000, "a不能超过1000"
获取输入
string = input()
字符-ASCii
ordinal:序数
print(ord('a'))
# A:65 a:97
chr(97)
# a
将字符全部大写小写
string = string.upper()
string = string.lower()
去重
x = set('runoob')
#<class 'set'> {'o', 'r', 'n', 'b', 'u'}
进制
2进制 binary
num=int(input())
bin_num=bin(num)
## count 的用法
print(bin_num.count('1'))
8进制 octal
num=int(input())
oct_num=oct(num)
16进制 hexadecimal
num=int(input())
hex_num=hex(num)
才知道int()这种功能,不同进制转整数
string=input()
print(int(string,16))
打印设置
循环中换行打印变为间隔空格
# 此处补充质数判断方法
# 如果n是合数,必然可以写成一个小于根号n的数*一个大于根号n的数
# 因此如果根号n之前都找不到因子,那就不是合数,是质数
for i in range(2,int(math.sqrt(num))+1):
while num%i==0:
print(i,end=' ')
处理多行输入
while True:
num=input()
if int(num) > 0:
print(get_drink_num(int(num)))
else: break
计算字符串运算
string=input()
print(eval(string))
连接字符串
# 常用的都是分割,string.split()
string.join()
字符串中字符判断
https://blog.youkuaiyun.com/qq_16488989/article/details/120156135
可以直接判断是不是数字 字母
string[i].isdigit()
string[i].isalpha()
字符统计
s.count('1')
保留小数位
ave=round(ave,1)
排序函数
key=lambda x:x[i]是固定写法,代表依照x的第i个元素排序。
默认是从小到大,reverse=True则是从大到小
sorted_list=sorted(s_list, key=lambda x:x[1], reverse=True)
格式化输出
返回某值的索引
idx=s.index('a')
列表的倒转
# s=[1,2,3]
s.reverse()
# 此时输出s则为倒转[3,2,1]
# 若print(s.reverse())则为None
# 若temp=s.reverse(),temp也为None