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))
有递归的情况:
无递归的情况:
错误的解决方案:
def func(i):
if i == 0:
print(i)
return i
elif i > -2:
i = i-1
func(i)
return(i)
print(func(3))
正确的解决方案一:
def func(i):
if i == 0:
print(i)
return i
elif i > -2:
i = i-1
return(func(i))
print(func(3))
正确的解决方案二:
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))
python求出五位数的回文数_python之递归相关推荐
- python判断回文数_Python练习题---判断回文数
设n是一个任意自然数,如果n的各位数字反向排序所得的自然数与n相等,则n被称为回文数,从键盘输入一个5位数字 ,请编写程序判断这个数字是不是回文数. 思路:先获取一个字符串,再判断该字符串是否满足是自 ...
- python怎么设置回文数_python如何写一个函数判断回文数?
python如何写一个函数判断回文数? python写一个函数判断回文数的方法: 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称 ...
- python输入一个五位数、判断是否为回文数_python如何判断是不是回文数
什么是回文数: 有这样一类数,他们顺着看和倒着看是相同的数,例如:12321,1221,2332等,这样的数字就称为:回文数. 例子:输入一个5位数,判断它是不是回文数.即12321是回文数,个位与万 ...
- 【Python蓝桥杯】特殊回文数 123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
最近在刷蓝桥杯题目,按题目做一下笔记整理,顺便分享交流一下,有更好的解决方案欢迎大家共同提出探讨,以下源代码为系统提交满分答案 特殊回文数 问题描述 资源限制 Python时间限制:5.0s. 问题描 ...
- python判断回文数_python如何判断是不是回文数
什么是回文数: 有这样一类数,他们顺着看和倒着看是相同的数,例如:12321,1221,2332等,这样的数字就称为:回文数. 例子:输入一个5位数,判断它是不是回文数.即12321是回文数,个位与万 ...
- C语言判断一个五位数是不是回文数
判断方法:若这个五位数的万位数等于个位数且千位数等于十位数,该数即为回文数,否则就不是回文数. 编码实现: #include<stdio.h> int main() {int wan,qi ...
- 五位数回文数c语言程序,五位数的回文数有多少个
2018-12-16 数学中有哪些回文数? 简介折叠编辑本段回文数是指一个像16461这样"对称"的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样.这里,& ...
- python判断回文数_Python实现判断一个整数是否为回文数算法示例
本文实例讲述了Python实现判断一个整数是否为回文数算法.分享给大家供大家参考,具体如下: 第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较 def isPalindrome(se ...
- LintCode Python 简单级题目 491.回文数
原题描述: 判断一个正整数是不是回文数. 回文数的定义是,将这个数反转之后,得到的数仍然是同一个数. 注意事项 给的数一定保证是32位正整数,但是反转之后的数就未必了. 您在真实的面试中是否遇到过这个 ...
最新文章
- sys.stdout.write与sys.sterr.write(二)
- python环境未激活_关于conda使用环境未被激活问题
- c++在调用类的时候不一定非得实例化对象哦,有时候你不写系统会为你默认生成一个临时实例对象哦~
- Linux企业生产环境用户权限集中管理项目方案案例
- SpringMVC自定义配置消息转换器踩坑总结
- WORD自动生成目录,目录中页码链接到正文的页码
- html所有的标签,html所有标签超详细概述
- Python与数据库之学员管理系统
- leetcode 506. Relative Ranks(python)
- uni-app 退出app操作
- 利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】
- 【高分励志电影合集】
- 【看了就懂】P问题、NP问题、NP完全问题和NP难问题
- 毕设中常出现的定性检验与定量检验的方法及误差指标计算公式【自用】
- kubernetes简介
- FCKeditor简介
- 基于PHP的学生在线成绩管理系统
- OUC-SE-GROUP09-BLOG1
- antd Popconfirm组件样式错乱问题
- 侯捷c++课程笔记 (面向对象高级编程)
热门文章
- 《JavaScript权威指南》——JavaScript核心
- www(apache)服务器的基本设置
- Python3之logging输出写入日志
- PyTorch系列 (二): pytorch数据读取自制数据集并
- 玩玩机器学习5——构造单层神经网络解决非线性函数(三次函数)的曲线拟合
- python print 变量_Python之print()函数与变量
- C++PrimerPlus学习——第十一章编程练习
- java变量用来干嘛_Java
- linux 查看neihe版本_linux查看系统内核版本号
- python前端代码_python前端HTML