找回密码
 中文实名注册
查看: 310|回复: 2

三级标准

[复制链接]

702

主题

1094

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22150
发表于 2021-7-10 19:10:01 | 显示全部楼层 |阅读模式
一、 理解编码、数制的基本概念,并且会应用。
1. 能够进行二进制、十进制以及十六进制之间的转换;
2. 理解Python中的数制转换函数。

二、 掌握一维数据的表示和读写方法,能够编写程序处理一维数据。

三、 掌握二维数据的表示和读写方法,能够编写程序处理二维数据。

四、 掌握CSV格式文件的读写方法。

五、 理解程序的异常处理:try-except结构语句。

六、 理解算法的概念,掌握解析、枚举、排序、查找算法的特征。能够用这些算法实现简单的Python程序。

七、 记住常用核心内置函数的功能及用法。

回复

使用道具 举报

702

主题

1094

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22150
 楼主| 发表于 2021-7-10 19:37:08 | 显示全部楼层
本文使用python中自带函数将一个整数在二进制、八进制、十进制和十六进制之间自由转换。
这个整数可能是个int,也可能是个string。
用到了otc,hex,bin,format这四个函数,和int这个class


一、十进制转换为其他进制
十进制转为二进制 bin(整数型)
十进制转换为八进制 oct(整数型)
十进制转换为十六进制 hex(整数型)

[Python] 纯文本查看 复制代码
# 十进制转换为其他进制
a=int(input('请输入要转换的十进制数:'))
# 十进制转二进制 (bin)
b=bin(a)
print('十进制转换为二进制是:',b)
# 十进制转换为八进制  (oct)
c=oct(a)
print('十进制转换为八进制是',c)
# 十进制转换为十六进制 (hex)
d=hex(a)
print('十进制转换为十六进制是',d)

运行结果:


请输入要转换的十进制数:6
十进制转换为二进制是: 0b110
十进制转换为八进制是 0o6
十进制转换为十六进制是 0x6


二、其他进制转换为十进制
其他进制转换为十进制的形式是:int(str,bse)
str(其他进制数以字符串形式),base是对应的几进制(2,8,16)


int() 函数用于将一个字符串或数字转换为整型。
语法
    以下是 int() 方法的语法:
    class int(x, base=10)
参数
  • x -- 字符串或数字。
  • base -- 进制数,默认十进制。
[Python] 纯文本查看 复制代码
>>> int('12',16)        # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)  
10  
>>> int('10',8)  
8


[Python] 纯文本查看 复制代码
# 1、二进制转换为十进制
a1 = input('请输入要转换的二进制数:')
b1 = int(a1,2)
print('二进制转换为十进制是:',b1)
# 2、八进制转换为十进制
a2 = input('请输入要转换的八进制数:')
b1 = int(a2,8)
print('八进制转换为十进制是:',b1)
# 3、十六进制转换为十进制
a3 = input('请输入要转换的十六进制数:')
b1 = int(a3,16)
print('十六进制转换为十进制是:',b1)

运行结果:


请输入要转换的二进制数:0b1110


二进制转换为十进制是: 14
请输入要转换的八进制数:0o1236001
八进制转换为十进制是: 343041
请输入要转换的十六进制数:0xabc24010
十六进制转换为十进制是: 2881634320


三、二进制、十进制、十六进制之间相互转换无法直接转换,需要先转换为十进制再转换为其他进制
[Python] 纯文本查看 复制代码
# 二进制转换为八进制
b1=input('请输入一个二进制数:')
c1=oct(int(b1,2))
print('二进制转换为八进制是:',c1)
# 八进制转换为二进制
b2=input('请输入一个八进制数:')
c2=bin(int(b2,8))
print('八进制转换为二进制是:',c2)
# 二进制转换为十六进制
b3=input('请输入一个二进制数:')
c3=hex(int(b3,2))
print('二进制转换为十六进制是:',c3)
# 十六进制转换为二进制
b4=input('请输入一个十六进制数:')
c4=bin(int(b4,16))
print('十六进制转换为二进制是:',c4)
# 八进制转换为十六进制
b5=input('请输入一个八进制数:')
c5=hex(int(b5,8))
print('八进制转换为十六进制是:',c5)
# 十六进制转换为八进制
b6=input('请输入一个十六进制数:')
c6=oct(int(b6,16))
print('十六进制转换为八进制是:',c6)

运行结果:


请输入一个二进制数:0b0010
二进制转换为八进制是: 0o2
请输入一个八进制数:0o0012
八进制转换为二进制是: 0b1010
请输入一个二进制数:0b0010
二进制转换为十六进制是: 0x2
请输入一个十六进制数:0xac02
十六进制转换为二进制是: 0b1010110000000010
请输入一个八进制数:0o0024
八进制转换为十六进制是: 0x14
请输入一个十六进制数:0xac32
十六进制转换为八进制是: 0o126062


四、format方法转换
[Python] 纯文本查看 复制代码
format(integer, 'x') 将integer转换为16进制,不带0x。integer为整型,'x'可换为'o','b','d'相对应八、二、十进制
print(format(12,'x'))  # 十六进制
print(format(12,'o'))  # 八进制
print(format(12,'d'))  # 十进制
print(format(12,'b'))  # 二进制

运行结果:


>c
>14
>12



回复

使用道具 举报

702

主题

1094

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22150
 楼主| 发表于 2021-7-24 18:22:23 | 显示全部楼层
# -*- coding: UTF-8 -*-
# 获取用户输入十进制数
dec = int(input("输入数字:"))

print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 中文实名注册

本版积分规则

小黑屋|东台市机器人学会 ( 苏ICP备2021035350号-1;苏ICP备2021035350号-2;苏ICP备2021035350号-3 )

GMT+8, 2024-11-21 22:23 , Processed in 0.037774 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表