当前位置:主页 > python教程 > Python数据结构栈进制转换

Python数据结构栈实现进制转换简单示例

发布:2023-04-20 14:00:02 59


为找教程的网友们整理了相关的编程文章,网友秦觅夏根据主题投稿了本篇教程内容,涉及到python、进制转化、数据结构进制转换算法、栈实现进制转换、Python数据结构栈进制转换相关内容,已被430网友关注,内容中涉及的知识点可以在下方直接下载获取。

Python数据结构栈进制转换

栈是一种后进先出(LIFO)的数据结构,在实际生活和工作中也很常见。

比如,在餐厅里的一摞盘子,总是从上面先取,也就是最后放到上面的先被取走。再比如,浏览网页的时候,通过浏览器的回退按钮访问之前浏览过的网页,也是最后访问的先被获取到。这些存储结构,都可以称之为栈。

下面是通过Python的数组实现的栈结构源码:

# 数据结构:通过Python数组实现栈
class Stack:
    def __init__(self):
        self.items = []

    # 检查栈是否为空。它不需要参数,且会返回一个布尔值。
    def is_empty(self):
        return self.items == []

    # 将一个元素添加到栈的顶端。它需要一个参数item,且无返回值。
    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)

我们可以通过栈结构,来做数字进制的转换。

我们通常生活中使用的是十进制,而在计算机世界,二进制才是通用的语言。

通过取余的方式,我们可以实现从十进制到二进制的转换,十进制转八进制也是同理。

下面是实现的源码:

import my_stack

# 十进制转二进制
def divide_by_2(number):
    stack = my_stack.Stack()

    while number > 0:
        temp = number % 2
        stack.push(temp)
        number = number // 2

    binStr = ''
    while not stack.is_empty():
        binStr = binStr + str(stack.pop())

    return binStr

# 十进制:5 转为二进制是:101
print(divide_by_2(5))

总结

到此这篇关于Python数据结构栈实现进制转换的文章就介绍到这了,更多相关Python数据结构栈进制转换内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

  • python字符串大小写转换的三种方法

    发布:2023-04-16

    本文主要介绍了python字符串大小写转换的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • python Pygame的具体使用讲解

    python Pygame的具体使用讲解

    发布:2022-09-06

    给大家整理一篇关于python的教程,本篇文章主要介绍了python Pygame的具体使用讲解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • python实现播放音频和录音功能示例代码

    python实现播放音频和录音功能示例代码

    发布:2023-01-18

    为网友们分享了关于python的教程,这篇文章主要给大家介绍了关于python播放音频和录音的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习


  • 一文详解Python灰色预测模型实现示例

    发布:2023-04-08

    这篇文章主要为大家介绍了Python灰色预测模型实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Python Flask-Login模块使用案例详解

    发布:2023-04-26

    Flask-Login 通过 user session,提供登录的常见任务,比如登入 (logging in)、登出 (logging out) 和当前用户 (current user),这篇文章主要介绍了Python Flask-Login模块使用详解,需要的朋友可以参考下


  • ubuntu 18.04搭建python环境(pycharm+anaconda)

    ubuntu 18.04搭建python环境(pycharm+anaconda)

    发布:2023-02-28

    为网友们分享了关于ubuntu的教程,这篇文章主要为大家详细介绍了ubuntu 18.04搭建python环境,包括Anaconda安装、Pycharm安装及初始配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • python去除列表中的空值元素实战技巧

    发布:2023-04-21

    这篇文章主要介绍了python实战技巧之去除列表中的空值元素,搜集针对python高效处理数据的核心代码,今天是实现去除列表中的空值元素,需要的朋友可以参考下


  • python自带pip的详解

    发布:2020-04-12

    Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。


网友讨论