首页 > 编程语言 >python递归求阶乘和

python递归求阶乘和

时间:2023-09-17 12:55:48浏览次数:37  
标签:return 递归 基例 python facSum num 阶乘

一些基本概念介绍:
阶乘:是指从1到n的连续自然数相乘的积。负数没有阶乘。

递归:函数作为一种代码封装,除了被其他程序正常调用外,还可以被函数内部代码调用。函数定义中调用函数自身的方式称为递归。

递归实现的两个关键点:
(1)存在一个或多个基例,基例不需要再次递归,它是确定的表达式。否则,无限递归将耗尽计算资源!
(2)所有递归链要以一个或多个基例结尾。

 

python递归求阶乘和的代码实现:

 1 # 本程序:根据用户输入的整数n,计算并输出n的阶乘和
 2 # 递归实现阶乘
 3 def factorial(num):
 4     if num == 1:# 给出了num为1时的基例,当num为1时该函数不再递归,返回1(即1的阶乘)
 5         return 1
 6     else:
 7         return num * factorial(num-1)# 递归
 8         
 9 # 递归实现阶乘和。举例,3的阶乘和=3!+2!+1!
10 def facSum(num):
11     if num == 1:# 给出了num为1时的基例,当num为1时该函数不再递归,返回1(即1的阶乘和)
12         return 1
13     else:
14         return factorial(num) + facSum(num-1)# 递归
15 n = eval(input("请输入一个整数: "))
16 print(facSum(abs(int(n))))

 

标签:return,递归,基例,python,facSum,num,阶乘
From: https://www.cnblogs.com/onullo/p/17708308.html

相关文章

  • 基于Python的鲜花在线销售系统-计算机毕业设计源码+LW文档
    摘 要随着信息技术的发展,基于web模式的购物系统逐渐普及,网上购物是一种新型的商务模式,其工作流程和经营模式受到了欢迎。电子商务可以适应现代化快节奏的生活方式,满足各类人群足不出户的在线购物,利用商城使得买卖双方完成线上交易,提高了购买效率。然而像鲜花这种传统的行业,由于......
  • Python第五章(1)字符串
    1.字符串的特性:(1)字符串是不可变类型。2.字符串的判定:isinstance(testString,str)3.用三引号实现长字符串。当开头的"""\时,开头不会输出换行符。4.字符串的索引和切片(1)字符串索引在实际使用情况下,“索引值”即“偏移量”。aString=="你好......
  • python实现从网站下载文件, 带进度信息
    我实现了一个函数,代码如下:defdownload_file_from_url(url,save_path='',callback:callable=None):'''下载文件,并保存到save_path指定的位置url:形如'http://www.tdx.com.cn/products/data/data/vipdoc/shlday.zip'或者'http......
  • python之爬虫requests
    importrequestsresult=requests.get("https://127.0.0.1:9200/_search",headers=headers,verify=False)#verify跳过ssl认证关于http的authorization认证......
  • python数据类型
    数据类型整数、浮点、字符串、布尔、列表、元组、字典、集合整数int(integer)字面意思就是整数,定义时不要加引号,否则会变成字符串浮点float理解为小数点,定义时不要加引号,否则会变成字符串字符串在python中加了引号的都会被认为是字符串 ......
  • Python开发实例(二十一)智能家居控制器:模拟一个简单的智能家居控制系统,控制虚拟设备的状
    在这个实例中,我们将模拟一个简单的智能家居控制系统,通过Python代码来控制虚拟设备的状态。我们将使用一个字典来表示设备及其状态,并提供用户界面来操作这些设备。下面是一个智能家居控制器的Python程序:#初始化设备状态字典devices={'灯':'关闭','空调':'关闭',......
  • python读取电脑产品码
       开发完一个产品要通过加密解密来保护产品权益和控制运行,其中核心环节是读取电脑硬件信息和加密解密算法。这里介绍一种常用的方法。#encoding=utf-8#Time:2023/09/1618:36#S.py读取电脑产品码#Author:HiFineimportwmiimportbase64frompyDesimport......
  • python实现猜拳小游戏
    功能需求假设石头剪刀布分别由1,2,3代表,程序在石头剪刀布中随机生成一个结果,根据用户输入的结果判断用户的输赢。用户输赢和平局否需要打印出结果。石头赢剪刀剪刀赢布布赢石头功能分析1:定义猜拳的手势、名称和结果2:定义一个函数get_user_gesture()获取用户的手势信息,并且需要考虑......
  • python | 连接数据库
    介绍一些python中用于连接常用数据库的依赖库。SQLite3SQLite3是Python中自带的数据库模块,适用于小型应用和快速原型开发。SQLite是一个进程内的库,实现了自给自足的、无服务器的、是非常小的,是轻量级的、事务性的SQL数据库引擎。它是一个零配置的数据库,不需要在系统中配置......
  • Python 基本操作
    Python语法可以直接在命令行中编写并执行:>>>print("Hello,World!")Hello,World!或者,可以在服务器上创建一个带有.py文件扩展名的Python文件,并在命令行中运行它:C:\Users\YourName>pythonmyfile.pyPython缩进缩进是指代码行开头的空格。在其他编程语言中,代码中的缩进......