可以将10进制数据转换成2进制,8进制,16进制等。

晚上练练算法和数据结构哈。

# coding = utf-8class Stack:def __init__(self):self.items = []# 是否为空def is_empty(self):return self.items == []# 进栈def push(self, item):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)def base_converter(dec_num, base):digits = '0123456789ABCDEF's = Stack()while dec_num > 0:# 取余remainder_num = dec_num % base# 进栈s.push(remainder_num)# 取整dec_num = dec_num // basebase_str = ''while not s.is_empty():# 出栈并定位字符base_str += digits[s.pop()]return base_strprint(base_converter(317, 2))
print(base_converter(1098, 6))
print(base_converter(4327, 8))
print(base_converter(86730, 16))

  

输出:

C:\Users\Sahara\.virtualenvs\untitled\Scripts\python.exe D:/test/python_stack.py
100111101
5030
10347
152CAProcess finished with exit code 0

  

转载于:https://www.cnblogs.com/aguncn/p/10645577.html

使用python解决算法和数据结构--使用栈实现进制转换相关推荐

  1. 数据结构学习笔记:利用栈实现进制转换

    数据结构学习笔记:利用栈实现进制转换 一.除基倒取余法示意图 二.编写十进制转换成二进制Python程序 1.源代码 2.运行结果 其实Python提供了一

  2. python内置函数bin,Python内置函数bin() oct()等实现进制转换

    Python内置函数bin() oct()等实现进制转换 使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: ...

  3. 基础算法4 —— 结构体(成绩统计) + 栈(模拟进制转换 + 优秀的拆分) + 指针

    结构体 结构体的实际应用场景: 在实际问题中,一组数据往往具有不同的数据类型.比如,某次期末考试中要记录一个学生的考试信息,除了有姓名(char)外,还有班级(int).性别(char).语文.数学. ...

  4. 数据结构实验三 用栈实现进制转换和计算器

    在c++中栈已经有stl容器定义过了,在这里面我就不写栈的定义的那部分了(因为太麻烦了) 进制转换非常简单,尤其是这次只要求了十以内进制的转换,我们只需要先输入要转换的进制t,然后输入要转换的数n,每 ...

  5. C语言中用栈实现进制转换,利用栈实现进制转换问题

    进制转换问题 建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换. 输入 输入只有一行,就是十进制整数. 输出 转换后的二进制数. 样例输入 10 样例输出 1010 十进制怎么转为二进制?十进制 ...

  6. python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...

  7. 用C语言栈实现进制转换

    #include<stdio.h> #include<stdlib.h> #include<windows.h> #define MAXSIZE 100 typed ...

  8. C语言栈实现进制转换

    栈-10进制任意转换 设计思路 例如讲10进制转换为2进制计算思路为: 利用循环将每一个余数都压入栈中,再遍历出栈 转换代码: /*进制转换 */ scStack *sysConvert(int nu ...

  9. problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 基本数据结构(一)...

    1. 什么是线性数据结构? 栈,队列,deques, 列表是一类数据的容器,它们数据项之间的顺序由添加或删除的顺序决定.一旦一个数据项被添加,它相对于前后元素一直保持该位置不变.诸如此类的数据结构被称 ...

  10. 数据结构作业--链栈实现进制转换

    十进制转换为2,8,16进制 #include <stdio.h> #include <stdlib.h> #include <string.h>/*此处是链栈数据 ...

最新文章

  1. 组合计数 ---- Codeforces Round #370 (Div. 2)D. Memory and Scores[dp]
  2. CDR配置助手 1.0 绿色免费版
  3. 赋能工业互联网融合发展 | 北京信息化和工业化融合服务联盟平台化设计专业委员会、中国仿真学会CAE仿真专业委员会成立
  4. Java Swing Mysql实现的员工工资管理系统项目源码附带视频指导运行教程
  5. php 特殊字符¥,php正则怎么替换符号
  6. Spring4-@PostConstruct和@PreDestroy注解的使用
  7. matlab学习路线
  8. labview控件旋转_基于LabVIEW的旋转倒立摆系统设计
  9. 技术分享 | 基于人工势场法的无人机,机间避撞实现
  10. 【转】【信息学奥赛一本通】题解目录
  11. 搭建邮件服务器 linux,Linux局域网邮件服务器搭建
  12. STM32F429与CC2530 ZigBee模块通信
  13. 上海数据分析师面试经历
  14. 7、高德地图(定位、复位功能)
  15. 宝宝吃饭不乖,怎么办?
  16. 【C/C++】超大遥感影像读取和存储 GDAL
  17. 好朋友结婚了,祝福你们!
  18. 物体移动时,面朝移动方向旋转
  19. 工作中可能用到的——集中式版本控制系统SVN
  20. 即学即用英语会话词典

热门文章

  1. 动态设置div的高度_DIV块和文字水平垂直居中,点击弹出文字提示
  2. 动词ing基本用法_高中英语:非谓语动词 ( 附非谓语口诀)
  3. python调用库roc_curve()_解决ROC曲线画出来只有一个点的问题
  4. nyoj 114某种排序(水 大数+优化大数)
  5. linux汇编预处理,Linux程序在预处理、编译、汇编、链接、运行步骤的作用
  6. linux gdb 执行命令,Linux中gdb命令起什么作用呢?
  7. 【2019上海网络赛:K】Peekaboo(勾股数知c求a和b--数论)
  8. 数学建模_混合赌博模型
  9. android中工厂模式应用,抽象工厂模式在android中使用
  10. java usb camera_Android usb camera设备添加