python求出五位数的回文数_python之递归

#coding=utf-8

'''

#题目:打印出如下图案(菱形)

nu = 1  # 开始值

k = 2   # 变量值

while nu >= 0:

    print(int((7 - nu) / 2) * ' ' + '*' * nu)

    nu += k

    if nu == 7:

        k = -k

#题目:有一分数序列:2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13... 求出这个数列的前20 项之和。

sum = 0

a = 0

b = 1

for i in range(21):

    a, b  = b, a+b

    sum += b/a

    print(b,a,sum-1)

from functools import lru_cache

@lru_cache(maxsize=None)

def fib(n):

    if n 

        return n

    return fib(n-1) + fib(n-2)

print([fib(n) for n in range(16)])

#题目:求 1+2!+3!+...+20! 的和

from functools import lru_cache, reduce

@lru_cache(maxsize=None)

def  factorial(n):

    if n == 1:

        return 1

    return n*factorial(n-1)

sum = reduce(lambda x,y: x+y, [factorial(n) for n in range(1, 21)])

print(sum)

#题目:利用递归方法求 5! 。

from functools import lru_cache, reduce

@lru_cache(maxsize=None)

def  factorial(n):

    if n == 1:

        return 1

    return n*factorial(n-1)

print(factorial(5))

#题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。

def str_reverse(n, string):

    if n == 0:

        return 

    print(string[n-1])

    str_reverse(n-1, string)

string = 'hello'#可替换成input

print(str_reverse(len(string), string))

#题目:有 5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。

# 问第2 个人,说比第一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?

def get_age(n):

    if n == 1:

        return 10

    return get_age(n-1) + 2

print(get_age(5))

#题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

def num_reverse(n, string):

    if n == 0:

        return 

    print(string[n-1])

    num_reverse(n-1, string)

num = 123

num = str(num)#如果使用input不用转换,但是需要判断isnumeric()

print(num_reverse(len(num), num))

#题目:一个5 位数,判断它是不是回文数。即12321 是回文数,个位与万位相同,十位与千位相同。

def palindrome(n, num):

    if 0 <= n  and num[0] == num[-1]:

        return  print('%s是回文数'%(num_))

    palindrome(n-2, num[1:-1])

num = '102343201'

num_ = num 

n = len(num)

palindrome(n,  num)

#题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

week = input("请输入星期的首字母:")

result = []

def get_week(week):

    global result

    result =[x for x in weeks if x.startswith(week)]

    if len(result) == 1:

        return result  

    elif len(result) == 2:

        week += input("请输入星期的下一个字母:")

    elif len(result) == 0:

        week = input("请重新输入星期的首字母:")

    get_week(week)#return 后还要执行这条语句一次

    return result

print(get_week(week))

#题目:求一个3*3 矩阵对角线元素之和

a = []

sum = 0

for i in range(3):

    a.append([])

    for j in range(3):

        a[i].append(int(input('请输入第%s行第%s列的元素:' % (i + 1, j + 1))))

    print('数组:',a)

for i in range(3):

    sum += a[i][i]

print('数组之和:',sum)

#题目:对10 个数进行排序

list_num = [2, 3, 1, 7, 9, 8, 4, 6, 5, 0]

list_num.sort(reverse=False)

print(list_num)

'''

#题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

list_num = [2, 3, 1, 7, 9, 8, 4, 6, 5, 0]

list_num.sort(reverse=True)

a = -1

if list_num[0]-list_num[-1] >= 0:

    for i in list_num:

        if a 1]:

            list_num.append(a)

            break

        if a > i:

            list_num.insert(list_num.index(i), a)

            break

        else:

            continue

else:

    for i in list_num:

        if a > list_num[-1]:

            list_num.append(a)

            break

        if a 

            list_num.insert(list_num.index(i), a)

            break

        else:

            continue

print(list_num)

#为什么return i 返回的是 i , 而print(i)得到的是 0

def func(i):

    if i == 0:

        print(i)

        return i

    elif i > -2:

        i = i-1

        func(i)

print(func(3))

有递归的情况:

11b9be4cded662a143a1455d43e2a315.png

无递归的情况:

83504a7e46aba7d4a0ff2dbc997784ce.png

错误的解决方案:

def func(i):

    if i == 0:

        print(i)

        return i

    elif i > -2:

        i = i-1

        func(i)

        return(i)

print(func(3))

c664d62f95457592f7390f22ee0868a4.png

正确的解决方案一:

def func(i):

    if i == 0:

        print(i)

        return i

    elif i > -2:

        i = i-1

        return(func(i))

print(func(3))

3c2893c99f4284c0acd92c6aa3ee0841.png

正确的解决方案二:

result = None

def func(i):

    if i == 0:

        print(i)

        global result

        result = i

    elif i > -2:

        i = i-1

        func(i)

    return result

print(func(3))

4246c53d6c2c2a4463c239a4957f6fb9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html正则判断全数字,javascript如何判断是不是数字?

javascript判断是不是数字的方法&#xff1a;方法一、使用js自带的全局函数isNaN()判断是不是数字。方法二、使用正则表达式判断是不是数字。方法三、通过typeof的返回值判断。JavaScript中判断是不是数字方法详解&#xff1a;第一种方法&#xff1a;isNaN()使用js自带全局函数…

law是什么的缩写_Lawyer和Attorney 有什么不同?

据美国劳工统计局(Bureau of Labor Statistics)预计&#xff0c;2016年至2026年间&#xff0c;律师的就业增长率为8.2%。在此期间&#xff0c;预计将新增6.5万个就业岗位。而且美国律师行业的&#xff0c;律师行业在US.NEWS 的Best Social Services Jobs中排名第一&#xff0c;…

选择座位html,影厅座位预览效果(css3)_html/css_WEB-ITnose

查看 demo 下载源码你可能对那些购买时需要选择座位的订票系统比较熟悉。通常在比赛&#xff0c;电影&#xff0c;搏击或者演唱会售票的时候需要这样做。如果能有一种座位的预览效果该有多酷啊&#xff0c;比如能够从你选择的位置的角度去预览舞台或者屏幕。这个问题引出了今天…

html 使用百度搜索,百度搜索uzer,进入主页

windows7的uzer.me怎么 安全上网百度搜索uzer&#xff0c;进入主页下载完成以后&#xff0c;点击&#xff0c;快捷方式&#xff0c;运行。登陆后&#xff0c;首先出现的是文档库&#xff0c;点击文档库。UZER上的软件和文件都打不开&#xff0c;网络没问题。因为安装的软件版本…

2021曲靖高考成绩查询时间,2021年曲靖高考成绩排名及成绩公布时间什么时候出来...

曲靖高考结束后&#xff0c;每年都有很多家长和考试不知道曲靖高考成绩排名如何查询、曲靖高考成绩什么时候公布以及查询方式&#xff0c;本文小编整理了曲靖高考成绩查询排名的相关知识。一、曲靖高考成绩公布时间及查询方式根据往年曲靖高考成绩公布时间预测&#xff0c;2021…

uniapp打包成html5包个ios壳,HBuilder之uni-app打包App方法

HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。该软件既可以支持web代码编写&#xff0c;也可以将已经编写好的项目代码打包为手机APP。HBuilder提供的打包有云端打包和本地打包两种&#xff0c;云端打包的特点是DCloud官方配置好了原生的打包环境&#xff0c;可…

彭山计算机培训,彭山2021年初中生学计算机

建校以来&#xff0c;我校一直秉承“让每一个学生具备生存发展的能力&#xff0c;让更多学生体验成功”的办学理念&#xff0c;坚持“诚信、务实、精技、立业”和“先做人、后做事”为校训&#xff0c;多年来优秀的办学质量和成绩屡获***、教育主管部门、专家、家长等社会各界的…

计算机控制系统开关,电脑远程开关机控制器

原标题&#xff1a;电脑远程开关机控制器SPD-M05电脑远程开机/关机/复位远程控制器斯必得SPD-M05电脑远程开机/关机/复位控制器是专为各种服务器及无人值守机房电脑远程遥控开机/关机/复位所开发。该控制器采用电话远程遥控操作&#xff0c;无论你何时何地只要你拔打一个电话即…

caffe模型文件解析_深度学习 Caffe 初始化流程理解(数据流建立)

深度学习 Caffe 初始化流程理解(数据流建立)之前在简书的文章&#xff0c;搬迁过来 ^-^本文是作者原创&#xff0c;如有理解错误&#xff0c;恳请大家指出&#xff0c;如需引用&#xff0c;请注明出处。#Caffe FeatureMap数据流的建立 ##用语解释FeatureMap: 输入的图片信息或者…

函数计算机怎么去掉fix,excel怎么使用fix函数取整

fiv函数的作用是取整&#xff0c;在excel当中该如何使用呢?下面就跟学习啦小编一起看看吧。excel使用fix函数取整的步骤1、首先我们打开一个工作样表作为例子。2、使用altf11组合快捷键进入vbe编辑器&#xff0c;插入一个新的模块&#xff0c;并在模块中输入以下代码&#xff…

问道五周年服务器维护公告,问道五周年 欢乐嘉年华

任务卷轴任务卷轴记录卷轴任务的道具&#xff0c;可以交易、摆摊、放入商店、卖给NPC、丢弃等操作&#xff0c;道具为打怪掉落或者商城购买&#xff0c;分为5个等级&#xff0c;等级越高&#xff0c;难度系数越高。卷轴使用1、右键点击使用道具&#xff0c;与道具等级不符的玩家…

datagridview设置为勾选才可编辑_使用lightroom前,做好这几项设置,有助于更好使用...

工欲善其事&#xff0c;必先利其器。每一款软件都有它需要特别关注的地方&#xff0c;在使用前做好相应的配置&#xff0c;可以大大提升使用体验&#xff0c;正所谓“磨刀不误砍柴工”。那lightroom使用前需要进行哪些设置呢&#xff1f;一、进行【首选项】设置1、如何打开【首…

惠普服务器u盘做win7系统,惠普u盘装win7系统 利用u盘装win7系统

现如今随着社会水平的提高&#xff0c;无论办公还是生活都是越来越离不开电脑&#xff0c;电脑品牌也很多&#xff0c;惠普电脑是比较受人关注的品牌电脑&#xff0c;惠普电脑在使用过程中系统可能会越来越卡顿或者出问题需要U盘重装系统&#xff0c;有些新手用户对于系统重装还…

发那科攻丝回退参数_参数-Fanuc数控系统的攻丝拉拔动作倍率即回退速度倍率

众所周知Fanuc数控系统的参数多如牛毛。上千的参数&#xff0c;并且有的还是八位&#xff0c;虽然Fanuc发布有相关的参数说明书。但是&#xff0c;作为最终用户的我们&#xff0c;有的也只是公开发布的&#xff0c;也没有更新更全的相关资料。即便是有了相关书籍&#xff0c;又…

旋转轨迹_谁是最可怕的压轴题?——直线运动轨迹

运动问题是数学物理中非常喜欢研究的问题&#xff0c;这和我们本生生活的三维空间有密切的关系&#xff0c;我们无时无刻都在运动着&#xff0c;不论是坐着、站着还是躺着&#xff0c;都在不断运动。运动有复杂的运动&#xff0c;也有简单的运动&#xff0c;今天我们我们来聊一…

elementui表单校验原始密码_javascript 中入门数据校验

1.onSubmit 放在表单中,返回false为不提交 &#xff0c;所以 放一个函数在里面所有的 数据获取&#xff0c;数据判断&#xff1b;都在内&#xff1b;&#xff08;把一个value放到一个值&#xff0c;和另一个value值比对&#xff09;&#xff1b;2.获取提交的数据 &#xff0c;判…

状态反射在体育运动中的作用_体育运动木地板时刻运行在最佳状态的秘诀

每日、每月和年度的维护可保持体育运动地板的外观和运动性能表现在最佳状态。大中小学校体育馆和商业运营场馆的维保人员承担着很多责任&#xff0c;其中最重要的是运动地板的护理和维护。体育场馆的运动地面一般由体育木地板、PVC地板或硅PU、丙烯酸地面等组成&#xff0c;因此…

chrome自动提交文件_实用!8个 chrome插件玩转GitHub,单个文件下载小意思

本文收录在个人博客&#xff0c;欢迎来寻宝实用&#xff01;8个 chrome插件玩转GitHub&#xff0c;单个文件下载小意思​mp.weixin.qq.com作为程序员对 GitHub 应该都不会陌生&#xff0c;我经常沉迷其中&#xff0c;找一些惊艳的项目或者工具。不过用的时间久了&#xff0c;发…

c++保留小数点后三位数_C++保留有效位与保留小数位

如果想要保留n位小数 根据C++官网上的解释,该函数没有指定的返回类型,并且该函数用于设定输出操作上的小数精确位。 然后返回值中解释:未指定返回值,这个函数仅用于数据流修改操作上。 说了这么多,我想要表达的意思就是当我们需要将精确后的小数保存(将a精确后保存赋值给…

的translate插件_知否 ?知否 ?React插件了解一下!

为什么选择插件&#xff0c;而不是组件&#xff1f; 调用简单 this.$toast("xxx") &#xff0c;不必再模板中提前定义 , 动态插入移除插件独立于业务更新不影响代码逻辑&#xff0c;做到热更新抽象,封装适用于toast&#xff0c;Dialog&#xff0c;Alert&#xff0c;…