博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python--使用递归优雅实现列表相加和进制转换
阅读量:4460 次
发布时间:2019-06-08

本文共 1494 字,大约阅读时间需要 4 分钟。

咦,好像坚持了一段时间,感觉又有新收获啦。

# 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 list_sum(my_list):    print(my_list)    if len(my_list) == 1:        return my_list[0]    else:        print(my_list[0], my_list[1:])        return my_list[0] + list_sum(my_list[1:])print('=======recursion list add=========')print(list_sum([1, 3, 5, 7, 9]))s = Stack()def to_base_str(num, base):    base_str = '0123456789ABCDEF'    div = num // base    mod = num % base    s.push(base_str[mod])    if div == 0:        res = ''        while not s.is_empty():            res += s.pop()        return res    else:        return to_base_str(div, base)print('=======recursion base trans=========')print('1456 from 10 to 16: ', to_base_str(1456, 16))print('32 from 10 to 2: ', to_base_str(32, 2))

 

输出:

C:\Users\Sahara\.virtualenvs\untitled\Scripts\python.exe D:/test/python_recursion.py=======recursion list add=========[1, 3, 5, 7, 9]1 [3, 5, 7, 9][3, 5, 7, 9]3 [5, 7, 9][5, 7, 9]5 [7, 9][7, 9]7 [9][9]25=======recursion base trans=========1456 from 10 to 16:  5B032 from 10 to 2:  100000Process finished with exit code 0

  

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

你可能感兴趣的文章
2.CSS 颜色代码大全
查看>>
Native与H5交互的一些解决方法
查看>>
三、基于hadoop的nginx访问日志分析--计算时刻pv
查看>>
SpringCloud Config客户端
查看>>
OAuth 开放授权 Open Authorization
查看>>
MongoDb数据库设计
查看>>
矩阵的线性代数意义
查看>>
最大似然估计(Maximum likelihood estimation)(通过例子理解)
查看>>
设计模式的六大原则
查看>>
/var/spool/postfix/maildrop 占用inode索引及磁盘空间解决办法
查看>>
urlRewrite url重写
查看>>
团队冲刺第六天
查看>>
淀粉质(点分治) 学习笔记
查看>>
Jenkins api java 调用
查看>>
integer promotion
查看>>
C语言Linux服务器网络爬虫项目(二)项目设计和通过一个http请求抓取网页的简单实现...
查看>>
图片预加载 解决图片加载闪动问题
查看>>
怎么处理系统蓝屏后提示代码0x000000d1的错误?
查看>>
技术分享:如何在PowerShell脚本中嵌入EXE文件
查看>>
ThreadUtil 多线程处理List,回调处理具体的任务
查看>>