【蓝桥杯】一些必须知道的小点!!

一、基本的输入与输出。

1. 输入单个值
num = int(input())
2. 输入多个值
opt, pos = map(int, input().split())
3. 输入多组值
# 第一个值代表数组大小,第二个值代表循环次数
n, m = map(int, input().split())

# 输入多组值
while m:
    opt, pos = map(int, input().split())

5. 基本输出

print(num)
6. 格式化输出
print("{:02d}:{:02d}:{:02d}".format(hour, minute, second))

二、转换。

1. 进制的转换。

(1)hex():十六进制

(2)oct():八进制

(3)bin():二进制

ps1. 若需要把十六进制的英文字母转换为十进制,即:int(x, 16)

ps2. 若想要去掉前缀,使用[2:]即可,如:hex(x)[2:]

ps3. 进行异或操作时,比较的是二进制数,

①可以直接使用“^”来进行异或计算,得到的结果是十进制整数

②如果需要转换为二进制,则使用bin()函数

2. 字母与数字的转换。

(1)ord():字母转数字

(2)chr():数字转字母

a=97,b=98,以此类推;以第十一届蓝桥杯的“单词分析”作引,

import sys
import os
import math

s = input()

alpha_count = [0]*26
for t in s:
    alpha_count[ord(t)-97] += 1

pos = alpha_count.index(max(alpha_count))
print(chr(pos+97))
print(max(alpha_count))

三、基本初等函数的计算。

1. 对数计算。

换底公式:

log_{b}N=\frac{log_{a}N}{log_{a}b}

import math  
  
# 计算自然对数(以e为底)  
natural_log = math.log(10)  
print(f"自然对数 log(10) = {natural_log}")  
  
# 计算以10为底的对数  
log_base_10 = math.log10(100)  
print(f"以10为底的对数 log10(100) = {log_base_10}")  
  
# 计算以其他数为底的对数,例如以2为底  
def log_base(n, base):  
    return math.log(n) / math.log(base)  
  
log_base_2 = log_base(8, 2)  
print(f"以2为底的对数 log2(8) = {log_base_2}")

2. 数的取整。

import math

x = 3.87241

# 向上取整
print(math.ceil(x))

# 向下取整
print(math.floor(x))

# 四舍五入
print(round(x)) #整数
print(round(x,2))  #保留两位小数

 四、基本的数论。

1. 寻找最大公约数,或判断两数是否互质。

import math

# x为最大公约数
x = math.gcd(a,b)

# 判断是否为互质数
if math.gcd(a,b)==1:
    print("{},{}为互质数".format(a,b))

2. 寻找最小公倍数

import math

#求最小公倍数
def gbs(a,b):  
  return a*b//(math.gcd(a,b))

3. 判断一个数是否为质数

def is_prime(n):  
    if n <= 1:  
        return False  
    if n <= 3:  
        return True  
    if n % 2 == 0 or n % 3 == 0:  
        return False  
    i = 5  
    while i * i <= n:  
        if n % i == 0 or n % (i + 2) == 0:  
            return False  
        i += 6  
    return True

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值