Python——简单实现十进制对十六、八、二进制的转换

#coding:utf-8

'''
    最近在看数据结构————Stack
    这也是来自国外大神写的一个" 教学 "

十进制数字转换成————十六、八、二进制
'''

# 通过面向对象class了一个Stack
class Stack:
    def __init__(self):
        self.items = []

def isEmpty(self):
        return self.items == []

def push(self, item):
        return self.items.append(item)

def pop(self):
        return self.items.pop()

def peek(self):
        return self.items[len(self.items)-1]

def size(self):
        return len(self.items)

# 通过函数实现————"base"为进制
def baseconverter(decnumber, base):
    digits = '0123456789ABCDEF'
    s = Stack()
    a = ''
    while decnumber > 0:
        rem = decnumber % base
        s.push(rem)
        decnumber //= base
    while not s.isEmpty():
        a += digits[s.pop()]
    return a

print baseconverter(233, 16)

原文地址:http://blog.51cto.com/13366251/2089241

时间: 2024-11-06 07:19:20

Python——简单实现十进制对十六、八、二进制的转换的相关文章

二、八、十、十六的数制的转换

十进制->* 整数和小数分开计算,在合并 整数:除以基数(2.8.16)逆取余,一直到商为0 小数:乘以基数(2.8.16)取整(正向),一直到小数为0 *->十进制 整数和小数分开计算,在合并 整数:二进制数按权展开.相加,即个位为基数的0次幂,十位为基数的1次幂,以此类推 小数:二进制数按权展开.相加,即小数点后一位为基数的-1次幂,后两位为-2次幂,以此类推 二进制->十六进制 整数:由右向左,四位合成一位,位数不足,左边补0,即可 小数:由左向右,四位合成一位,位数不足,右边补0

Python之路【第十六篇】:Django【基础篇】

Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver

python第三方库系列之十六--建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器也可以通过服务器的IP地址来访问. 这里的

Python之路【第十六篇】:Python并发编程

一.进程和线程 进程 假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作), 而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源. 是不是在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让 程序B暂停,然后让程序A继续执行? 当然没问题,但这里有一个关键词:切换 既然是切换,那么这就涉及到了状态的保存,状态的恢复,加上程序A与程序B所需要的系统资 源(内存,硬盘,键盘等等)是不一样的.自然而然的就需要有一个东西去

Python之路【第十六篇续】Django进阶篇

Django请求生命周期 首先:对于所有的web框架来说本质就是一个socket服务端,浏览器是socket客户端 路由系统 在Django的urls中我们可以根据一个URL对应一个函数名来定义路由规则如下: from cmdb import views urlpatterns = [ url(r'^login/$', views.login), url(r'^index/$', views.index), url(r'^lists/$', views.lists), url(r'^add/$'

Python之路(二十六):Mysql(上)

Mysql(一)概述.安装使用及其简单操作 Mysql数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. Mysql是开源的,所以不需要支付额外的费用. Mysql支持大型的数据库.可以处理拥有上千万条记录的大型数据库. MySQL使用标准的SQL数据语言形式. Mysql可以允许于多个系统上,并且支持多种语

Python之路【第十六篇】Django基础

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 1.创建Django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 上述的sitename是自己定义的项目名称! 其他常用命令: python manage.py runserver 0.0.

python接口自动化(二十六)--批量执行用例 discover(详解)

简介 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到 unittest 里面的 discover 方法来加载用例了.加载用例后,用 unittest 里面的 TextTestRunner 这里类的 run 方法去一次执行多个脚 本的用例.那么前边介绍那么多都是半道开始,半道出家,这篇就带大家从头到尾,一步一步给小伙伴们详细介绍一下. 新建测试项目 1.pycharm 左上角 File>New Projetc>Pure Python,在 locat

Python学习笔记(四十六)网络编程(2)— UDP编程

摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432004977916a212e2168e21449981ad65cd16e71201000 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议. 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包.但是,能不能到达就不知道了. 虽然