算法题python用法
大写变小写往后移动一位
chr(ord(v.lower())+1)
大写、小写、数字
i.isalpha(): #英文
i.isspace() #空格
if item.isupper(): #大写
a = 1
elif item.islower(): #小写
b = 1
elif item.isnumeric(): #数字
if not i.isdigit(): # 存在非数字字符,直接NO
print('NO')
常用记录个数
b[key] = b.get(key, 0) + 1
自动填充0补位(补右边)
i.zfill(8)
11110000
自动填充0补位(补左边)
for i in range(0, len(data), 8):
print("{0:0<8s}".format(data[i:i+8]))
自动补0(左边)
bin(int(x, 16)[2:].rjust(4,'0')
进制转换
a=bin(int(data))[2:]
# 1.转2进制:bin
# bin(int(‘ff’,16))
# (先转成10进制,再转成2进制。)
# 2.转8进制:oct
# oct(0xf)
# (任何进制可以直接转8进制)
# 3.转16进制:hex
# hex(int(‘17’,8))
# (先转成10进制,再转成16进制)
# bin():其他进制转二进制
# oct():其他进制转八进制
# int():其他进制转十进制
# hex():其他进制转十六进制
# 二进制、八进制、十六进制的形式
# 二进制:以“0b”开头,如:0b111为十进制的7
# 八进制:以“0o”开头,如:0o26为十进制的22
# 十六进制:以“0x”开头,如:0x1f为十进制的31
set() list列表化后导致顺序变化
data = list(input()[::-1])
data1=list(set(data))
data1.sort(key=data.index)
质数因子
import math
data = int(input())
for i in range(2, int(math.sqrt(data)+1)):
while data%i == 0:
print(i, end=" ")
data=data//i
if data >2:
print(data)
查询兄弟单词
elif sorted(word) == sorted(data3):
下标为奇数的字符和下标为偶数的字符分别从小到大排序
a[::2] = sorted(a[::2]) # 奇数位置从小到大排序
a[1::2] = sorted(a[1::2]) # 偶数位置从小到大排序
字符串操作
if re.search(r'[0-9A-Fa-f]', x):
return hex(int(bin(int(x, 16))[2:].rjust(4, '0')[::-1], 2))[2:].upper()
"""
1. int(x, 16) - 将16进制字符x转成10进制
2. bin(int(x, 16))[2:].rjust(4,'0')[::-1] - 继续将十六进制转成二进制,并去除二进制开头"0b",如果二进制长度小于4,则在前面补0至四位,然后再倒序。
比如bin(int('7', 16))输出0b111,[2:]去除0b后为111,rjust(4,'0')左侧补0则变为0111,[::-1]倒序后变为二进制的1110
3. hex(int(i,2)[2:].upper() - 其中i表示注释2的内容。这一步是将上一步获取的二进制转成十六进制,并去除开头的"0x",最后再将其转成大写。
"""
加减乘除字符串 得出结果
3+2*{1+2*[-4/(8-6)+7]}
s=input()
s=s.replace('{', '(')
s=s.replace("}",")")
s=s.replace("[","(")
s=s.replace("]",")")
print(int(eval(s)))
时间转换天数
datetime.date(2022,4,3).strftime("%j").lstrip("0")
'93'
经典题
HJ43 迷宫问题
HJ44 数独问题
标签:bin,进制,二进制,16,python,用法,int,算法,data From: https://www.cnblogs.com/-XDD-/p/16630233.html