首页 > 编程语言 >算法题python用法

算法题python用法

时间:2022-08-27 11:47:39浏览次数:45  
标签:bin 进制 二进制 16 python 用法 int 算法 data

算法题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

相关文章

  • 【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件网友评论
    目录一、事件背景二、微热点分析二、自开发Python舆情分析2.1Python爬虫2.2可视化大屏2.2.1大标题2.2.2词云图2.2.3条形图2.2.4饼图(玫瑰图)2.2.5地图三、演示视频一......
  • Python 下载大文件,哪种方式速度更快
    转载:Python下载大文件,哪种方式速度更快(qq.com)方法一使用以下流式代码,无论下载文件的大小如何,Python内存占用都不会增加:def download_file(url):    local_fil......
  • flask 解决日志重复打印问题 or Python日志重复打印
    背景:业务代码上线后,莫名会重复输出很多相同的日志,已知以为是多线程问题,后仔细了解期logging原理后发现并非如此。以下为解决方案fromflaskimportFlaskas_Flaskfro......
  • 06.python闭包
    python闭包什么样的函数是闭包函数?满足以下条件:闭:外层函数嵌套了一个内层函数。包:内层函数调用外层函数命名空间内的名字。举例如下:defout_func():#外层函数......
  • 算法题
    回文字符串Manacher算法字符串aaabaLen数组有一个性质,那就是Len[i]-1就是以第i个字符为中心的回文子串在原字符串S中的长度。......
  • 学习python-Day48
    今日学习内容JS获取用户输入有两种方式:普通数据(输入、选择)​ 标签对象.value文件数据(上传)​ 标签对象.files​ 标签对象.files[0]JS类属性操作let标签......
  • R语言中apply函数的用法
     001、dat<-data.frame(a=c(3,8,2,1),b=c(8,4,2,6),c=c(2,7,6,9))##测试数据狂datapp......
  • Python枚举用法_Enum
    #-*-coding:utf-8-*-fromenumimportEnum,unique#1.枚举的定义#首先,定义枚举要导入enum模块。#枚举定义用class关键字,继承Enum类。#2.如果要限制定......
  • 【2022-08-26】python前端开发(五)
    python前端开发(五)JS获取值操作普通数据(输入、选择) 标签对象.value文件数据(上传) 标签对象.files 标签对象.files[0]leti1Ele=document.getElementById('d1......
  • 10个python基础技巧
    下面有几个python初学者不知道的技巧,学会了可以大大提升代码的简洁性和便捷性。1、真值比较初学者经常在if语句中使用==比较符来判断表达式是否为真值#错误写法a=Tru......