python 使用递归实现打印一个数字的每一位示例


Posted in Python onFebruary 27, 2020

我就废话不多说了,直接上代码吧!

def func(n):
  # 从高分为开始打印
  lengh = len(str(n))   # 确定数字的长度
  x = 10**(lengh-1)    # 确定数字的分位
  if n < 10:
    print(n)
  else:
    print(int(n/x))
    func(n % x) # 对n的x分位取余得到


def func1(n):
  # 从低分位开始打印
  if n < 10:
    print(n)
  else:
    print(n % 10)
    func(int(n / 10))

上述凶高分位打印的时候,会出现0无法打出的现象,现在加一个判断做一个优化

def f(n):
  num_len = len(str(n))
  if n < 10:
    print(n)
    # return n
  else:
    print(int(n / (10**(num_len-1))), end=' ')
    mod = n % (10**(num_len-1))
    dif_value = num_len - len(str(mod))
    if dif_value > 1:
      for i in range(1, dif_value):
        print(0, end=' ')
    f(mod)


f(200400900000)

当然也有同学有跟简单的方法来写,但是需要一定的理解力,就是把低分为的实现方法打印和调用换一个位置变可实现

def func1(n):
   # 从低分位开始打印
   if n < 10:
     print(n)
   else:
     func(int(n / 10))
     print(n % 10)

func(int(n / 10))这一步呢其实是先一直在调用,并没有实现打印,等调用到最后一位的时候,就开始回溯,没回溯一步,便打印一位数数来

补充拓展:使用python递归打印杨辉三角

啥也不说了,上代码吧

# 杨辉三角
 
# 1
# 1 1
# 1 2 1
#1 3 3 1
# ........
 
 
#传入上一行,生成下一行
def next_line(lst):
  newline = [1]
  for x in range(len(lst) - 1):
    newline.append(lst[x] + lst[x + 1])
  newline.append(1)
  return newline
 
#定义二位数组,存放;如果为了节约空间,也可以不用放二维数组
def yanglst(n):
  yanghui = []
  L = [1]
  for x in range(n):
    yanghui.append(L)
    L = next_line(L)
  return yanghui
 
for I in yanglst(20):
  print(I)

以上这篇python 使用递归实现打印一个数字的每一位示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 正则表达式操作指南
May 04 Python
python批量提交沙箱问题实例
Oct 08 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
Python实现的knn算法示例
Jun 14 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
python3中eval函数用法使用简介
Aug 02 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
python next()和iter()函数原理解析
Feb 07 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
python json 递归打印所有json子节点信息的例子
Feb 27 #Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 #Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 #Python
matlab中imadjust函数的作用及应用举例
Feb 27 #Python
浅析matlab中imadjust函数
Feb 27 #Python
matlab灰度图像调整及imadjust函数的用法详解
Feb 27 #Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 #Python
You might like
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
Python入门之三角函数atan2()函数详解
2017/11/08 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
如何在python中写hive脚本
2019/11/08 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
创建市级文明单位实施方案
2014/03/01 职场文书
法律专业自荐信
2014/06/03 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
不同意离婚答辩状
2015/05/22 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
Tomcat弱口令复现及利用
2022/05/06 Servers