当前位置: 首页 > news >正文

网站是什么网站建设成都云

网站是什么,网站建设成都云,什么是营销网络,wordpress迁移不能用欢迎大家订阅【蓝桥杯Python每日一练】 专栏,开启你的 Python数据结构与算法 学习之旅! 文章目录 1 进制转换2 例题分析 1 进制转换 ①任意制转为十进制 【示例】 ②十进制转为任意制 【法一】 【法二】 2 例题分析 题目地址:https:/…

欢迎大家订阅【蓝桥杯Python每日一练】 专栏,开启你的 Python数据结构与算法 学习之旅!

文章目录

  • 1 进制转换
  • 2 例题分析


1 进制转换

①任意制转为十进制
在这里插入图片描述
在这里插入图片描述
【示例】
在这里插入图片描述

在这里插入图片描述
②十进制转为任意制
【法一】
在这里插入图片描述
在这里插入图片描述
【法二】
在这里插入图片描述

2 例题分析

在这里插入图片描述

题目地址:https://www.lanqiao.cn/problems/1230/learning/

样例输入

2
2 10 
10101 
11 2
1793A5068

样例输出

21
10101111001010100111010101011

【示例代码】

# 定义字符集并构建字符到整数的映射
int_to_char = "0123456789ABCDEF"
char_to_int = {chr: idx for idx, chr in enumerate(int_to_char)}# k进制字符串转换为十进制整数
# 输入:k(源进制),x(字符串)
def K_To_Ten(k, x):ans = 0x = x[::-1]  # 反转字符串,以便从最低位开始计算for i in range(len(x)):ans += char_to_int[x[i]] * k**i  # 每位转换为十进制return ans# 十进制转换为任意 k 进制
# 输入:k(目标进制),x(十进制整数)
def Ten_To_K(k, x):if x == 0:  # 处理特殊情况,如果十进制数为0return "0"ans = ""while x != 0:ans += int_to_char[x % k]  # 取余并转换为目标进制字符x //= k  # 向下取整除以移除当前最低位return ans[::-1]  # 反转结果字符串以正确排列位序# 实现进制转换逻辑
T = int(input())  # 读取测试用例数量
for _ in range(T):N, M = map(int, input().split())  # 读取源进制和目标进制x = input().strip()  # 读取源进制数字串# 先将源进制数字串转换为十进制整数y = K_To_Ten(N, x)# 将十进制整数转换为目标进制数字串z = Ten_To_K(M, y)# 输出结果print(z)

【代码分析】

①字符集定义和映射

int_to_char = "0123456789ABCDEF"
char_to_int = {chr: idx for idx, chr in enumerate(int_to_char)}
  • int_to_char: 包括所有可能出现在任意进制表示中的字符集合,支持 0 到 15 进制数字。

    • 例如:0, 1, 2, 3, ... 9, A, B, C, D, E, F
  • char_to_int: 字符到整数的映射字典。

    • '0' 映射为 0
    • '1' 映射为 1
    • 'A' 映射为 10
    • 'B' 映射为 11
    • 依此类推…
  • 实现原理:用 enumerate 生成索引与字符的映射。
    for idx, chr in enumerate(int_to_char): char_to_int[chr] = idx这一步操作将 char_to_int 构建为如下形式:

{'0': 0, '1': 1, '2': 2, '3': 3,'4': 4, ...'A': 10,'B': 11,...'F': 15
}

该字典用于转换任意进制字符和整数之间的相互转换。

②从任意源进制字符串转换为十进制
定义 K_To_Ten 函数

def K_To_Ten(k, x):ans = 0x = x[::-1]  # 反转字符串,以便从最低位开始计算for i in range(len(x)):ans += char_to_int[x[i]] * k**i  # 每位转换为十进制return ans

a. 参数

  • k: 源进制,例如二进制为 ( k = 2 )。
  • x: 输入字符串,例如二进制字符串 "10101"

b. 流程解析

  • 反转字符串
    • 在进制转换中,从右往左处理数字更简单。
    • x[::-1] 实现字符串反转。
  • 逐位转换
    • 每位通过索引获取其整数值,并计算其在十进制的值。
    • 公式:char_to_int[x[i]] * k**i
      • char_to_int[x[i]] 获取当前字符对应的整数值。
      • k**i 表示当前位在十进制数中的权重。
  • 返回结果ans 包括转换后的十进制结果。

③从十进制转换为任意目标进制字符串
定义 Ten_To_K 函数

def Ten_To_K(k, x):if x == 0:  # 处理特殊情况,如果十进制数为0return "0"ans = ""while x != 0:ans += int_to_char[x % k]  # 取余并转换为目标进制字符x //= k  # 向下取整除以移除当前最低位return ans[::-1]  # 反转结果字符串以正确排列位序

a. 参数

  • k: 目标进制,例如十进制转换为二进制时 ( k = 2 )。
  • x: 十进制整数。

b. 流程解析

  • 特殊情况处理:如果十进制输入为 0,直接返回 "0"
  • 转换逻辑
    • 每次通过 x % k 取当前位的余数。
    • 通过 x //= k 逐步去除当前最低位。
    • 每位转换后用 int_to_char 转换为目标字符。
  • 反转结果字符串:因为转换从最低位开始,需要将结果字符串反转。

④主逻辑

T = int(input())  # 读取测试用例数量
for _ in range(T):N, M = map(int, input().split())  # 读取源进制和目标进制x = input().strip()  # 读取源进制数字串y = K_To_Ten(N, x)  # 转换为十进制整数z = Ten_To_K(M, y)  # 转换为目标进制数字串print(z)
  1. 首先读取测试用例的数量 T
  2. 对每个测试用例:
    • 读取源进制 N 和目标进制 M
    • 读取源进制数字字符串 x
  3. 调用函数依次转换:
    • K_To_Ten(N, x) 将源进制转换成十进制整数。
    • Ten_To_K(M, y) 将十进制转换为目标进制字符串。
  4. 输出转换结果。

【运行结果】
在这里插入图片描述

http://www.15wanjia.com/news/196534.html

相关文章:

  • 上海网站搭建平台公司网站的营销方式有哪些
  • wordpress两个侧边栏百度搜索引擎优化
  • 网站建设制作设计seo优化湖南偷网站源码直接建站
  • 信用中国 网站 支持建设大型电子商务网站开发
  • 网站建设有哪些基本流程山西威力网站建设推荐
  • 北京app建设 网站开发公司机械 网站源码
  • 佛山网站建设排名需要证书的建筑公司网站
  • 医疗网站的建设设计要注意什么网站跳出率多少
  • 公司内部网站怎么做企业网站傻瓜搭建
  • 网站建设系统规划网页设计 站点
  • 网站建设 参照 标准规范建设ipv6网站
  • 长春怎样建网站?最新网站制作公司哪个好
  • 山西网站制作方案做简历好的网站
  • 龙华建设发展有限公司网站医生在线免费咨询
  • 苏州市吴江区住房和城乡建设局网站dw怎么做网站注册登入页面
  • 自己怎么做专属自己的网站网站是怎么做优化
  • 建站网址是多少王野天个人简介
  • 做网站怎么写代码WordPress注册页背景
  • 沈阳网站seo优化哪家好电子商务网站建设与管理实验
  • 圣耀做单网站唐山做网站多少钱
  • 外贸网站建设哪里有网站安全解决方案
  • 网站建设实施方案及预算自己做的网站本地虚拟上传
  • 在线视频网站如何制作沈阳制作网站的公司有哪些
  • 网站百度百科怎么做小学六年级做的网站
  • 阿里云网站搭建网站建设推广的广告语
  • 西安网站建设熊掌重庆建设工程造价网官网
  • 我是站长网丹棱网站建设
  • 如何能把网站做的更大做网站哪个公司好
  • 网站所有页面湘潭优化公司
  • 大连建站免费模板cms网站栏目介绍