《Python程序设计与算法基础教程(第二版)》第八章 函数与函数式编程 上机实践

2023-11-15

python实验四:

上机实践:2,3,4,5

2、编写程序,定义一个求阶乘的函数fact(n),并编写测试代码,要求输入整数n(n>=0)。请分别使用递归和非递归方式实现。

递归方式:

def fact(n):
    if n==0 or n==1:
        return 1
    if n<0:
        return '负数不可以阶乘'
    else:
        return n*fact(n-1)

#测试代码
n=int(input("请输入整数n(n>=0):"))
print(n,'!=',fact(n))

在这里插入图片描述

非递归方式:

def fact(n):
    if n==0 or n==1:
        return 1
    if n<0:
        return '负数不可以阶乘'
    else:
        result=n
        for i 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《Python程序设计与算法基础教程(第二版)》第八章 函数与函数式编程 上机实践 的相关文章

  • 基于springcloud gateway + nacos实现灰度发布(reactive版)

    什么是灰度发布 灰度发布 又名金丝雀发布 是指在黑与白之间 能够平滑过渡的一种发布方式 在其上可以进行A B testing 即让一部分用户继续用产品特性A 一部分用户开始用产品特性B 如果用户对B没有什么反对意见 那么逐步扩大范围 把所有
  • 一个网站引发的程序猿的牢骚,哈哈哈

    2013年大学毕业后 参加工作做的第一个前端项目 北京服装学院 今天调研一个关于iframe的需求 突然想试试 以前那些做IE6兼容的项目是否还在使用 就默默的点开了 十年了 他们没有换网站 我的岁月似乎从这一刻又回来了一次 已经十年了 我
  • Flask学习笔记(二)

    Flask学习笔记 二 1 知识点 1 1虚拟环境 1 1 1virtualenv 1 1 2virtualenvwrapper 1 2web与视图 1 3jinja2 1 3 1template知识点 1 3 2豆瓣列表页 1 3 3视图
  • 锚框损失论文下载 Iou-Loss【IoU Loss、GIoU Loss、 DIoU Loss 、CIoU Loss、 CDIoU Loss、 F-EIoU Loss、α-IoU Loss】

    锚框损失 Iou Loss IoU Loss GIoU Loss DIoU Loss CIoU Loss CDIoU Loss F EIoU Loss IoU Loss 论文打包下载 yolo系列论文https download csdn
  • cocosCreator2.3.x渲染流程深入剖析笔记(三)

    渲染批次合并之顶点 根据前面说过的render flow流程接下来就是重头戏了render流程 其中包括了 检查两个渲染节点是否可以合并 同时把renderData的数据填充到modelBatch里的buffer中去 所有需要渲染的节点都有
  • Kotlin中匿名函数(又称为Lambda,或者闭包)和高阶函数的详解

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到教程 1 匿名函数 fun main 匿名函数 1 定义时不取名字的函数 我们称之为匿名函数 匿名函数通常整体传递给其他函数 或者从其他函数返
  • java中到底该不该用@author标识作者?

    今天查看activiti的README 突然发现一段很有意思的FAQ Why do you not accept author lines in your source code Because the author tags in the
  • Redis基础

    一 Redis入门 1 Redis简介 Redis Remote Dictionary Server 即远程字典服务 是一个基于内存的key value结构数据库 是用C语言开发的一个开源的高性能键值对 key value 数据库 它可以用
  • 基于python 蔬菜价格数据分析 完整代码+数据

    https download csdn net download weixin 55771290 87567123
  • GRU解决预测分类问题(多变量预测多步)

    解决问题的背景 现有五个属性列 前四个属性列作为特征输入 第五个属性列作为标签值 第五个属性列的意义是类别 先需要通过前50步的数据特征预测后10步的类别 即 51 60步 1 直接多输出的方式 直接多输出的方式就是在神经网络的最后加上几个
  • Linux·DNS协议、ICMP协议、NAT技术

    目录 DNS协议 DNS背景 编辑域名简介 域名解析过程 使用dig工具分析DNS过程 ICMP协议 ICMP功能 ICMP协议格式 编辑ping命令 一个值得注意的坑 traceroute命令 NAT技术 NAT技术背景 NAT IP转换
  • 报错:‘NoneType‘ object has no attribute ‘shape‘

    报错 NoneType object has no attribute shape import cv2 as cv img cv imread images1 print img shape img shape 图像大小 行 列 通道数
  • TypeScript基础入门 - 枚举 - 联合枚举与枚举成员的类型

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 转发 TypeScript基础入门 枚举 联合枚举与枚举成员的类型 项目实践仓库 https github com durban89 typescript demo git
  • Unity中添加按钮的方式

    方式一 使用 GUILayout 自动布局 用 GUILayout Button 来创建按钮 会自动的在屏幕的右上角按列排列按钮 这种方式添加的按钮大小和位置都无法改变 为默认值 private void OnGUI if GUILayou
  • f5负载均衡配置文件服务器,f5 负载均衡 dns 服务器 配置

    f5 负载均衡 dns 服务器 配置 内容精选 换一换 查询负载均衡器状态树 可通过该接口查询负载均衡器关联的监听器 后端云服务器组 后端云服务器 健康检查 转发策略 转发规则的主要信息 了解负载均衡器下资源的拓扑情况 GET v2 pro
  • mongodb入门操作

    mongodb入门操作 简单了解一下NoSql NoSql NoSql not only sql 是非关系型数据库系统的统称 它用于超大规模的数据的存储 提供有限的查询功能 mongodb mongodb是一个基于分布式文件存储的数据库系统
  • Rabbit学习笔记

    引言 什么是MQ MQ Message Quene 消息队列 通过典型的生产者和消费者模型不断向消息队列中生产消息 消费者不断从队列中获取消息 因为消息的生产和消费是异步的 而且只关系消息的发送和接收 没有业务逻辑的侵入 轻松地实现系统间解
  • IMU的ROS调试开发工具包:imu_tools

    目录 imu tool包 问题 参数配置便利性问题 实例 调试microstrain 3dm gx5 25 imu 问题 发布的imu姿态与实际imu姿态不一致问题 imu tool包 http wiki ros org imu tools

随机推荐

  • Java串口通信-JSerialComm

    Java串口通信 JSerialComm 目前网上的Java串口通信主要使用RXTXComm 但是这个库已经很久没有更新 最近的更新似乎在2012年 并且与JavaFX集成打包时会出现BUG JSerialComm是一个较新的串口通信库 其
  • 深度学习——权重的初始值

    权重的初始值 权重的初始值十分重要 关系到神经网络的学习是否成功 可以将权重初始值设置为0吗 为了抑制过拟合 提高泛化能力 采用权值衰减的方法 它是一种以减小权重参数的值为目的进行学习的方法 在误差反向传播法中 所有的权重值都会进行相同的更
  • truss 命令

    truss 命令用途跟踪进程的系统调用 动态装入的用户级函数调用 接收的信号和造成的机器故障 语法truss f c a l d D e i t x Syscall s Signal m Fault r w FileDescriptor u
  • gitlab 搭建与使用

    gitlab 搭建与使用 参考博客链接 https blog csdn net weixin 38912024 article details 82383312 https blog csdn net hao5335156 article
  • JasperReport6.x 提示:No markuo processor factory specified for ““ markup

    Jaspersoft Studio 提示如下错误信息 No markuo processor factory specified for markup 解决方法 jrxml 切换至源码模式 查询makeup 属性字段标签 将内容编辑为 no
  • ssh: connect to host port 22: No route to host问题

    笔记本没电自动关机 但是虚拟机是开启状态 开机之后发现连接不上其中一个虚拟机 出现了ssh connect to host port 22 No route to host问题提示 后来检查防火墙和网都没有问题 使用ifconfig命令后发
  • ie 使用window.open页面报错

    window open url 打开新页面是如果要通过地址栏来传参要注意 var qt qt teachMaterialDealInfo bookids selectBooks qt teachMaterialDealInfo writer
  • vba文字型的值转换成数值类型

    今天在做表的时候 发现数组中提取出来的是文字类型 需要转换成数值类型 网上搜索到了字符转换的方法 超级实用 记录下来 如果用mid函数提取的字符范围增加 可参照VBA中的帮助 类型转换函数 CBool expression CByte ex
  • 正则表达式匹配数字、字母和汉字等各类汇总

    最近在开发中遇到一个需求是只匹配字母和汉字 于是在网上找了一个比较全的记录一下 日后再用 正则表达式来匹配规范一段文本中的特定种类字符 下面是对常用的正则匹配做了一个归纳整理 1 匹配中文 u4e00 u9fa5 2 英文字母 a zA Z
  • unity code-动作系统Animator

    AnimatorOverrideController是运行时版本 可以运行时更改controller AnimatorController是编辑器版本 不能运行时修改 所以运行时只能通过用AnimatorOverrideController
  • 自动化测试框架之RobotFramework进行接口测试

    首先在进行接口测试前分析一下如何进行接口请求的发送或进行接口请求发送包含哪些内容 那么就需要对http请求包含的内容 请求行 协议版本 URL 请求方法 请求头 host content Type Accept等 请求体 发送请求需要带的参
  • 关于SSM框架体会和小结

    前言 使用SSM spring SpringMVC和Mybatis 已经有三个多月了 项目在技术上已经没有什么难点了 基于现有的技术就可以实现想要的功能 当然肯定有很多可以改进的地方 之前没有记录SSM整合的过程 只写了个搭建Maven过程
  • 2021-02-08

    学习目标 综合练习题 10道经典题目 天池龙珠计划SQL训练营 学习内容 10道sql练习题 学习产出 1 说实话自己写不全 还是翻看了答案才知道 2 自己装了sql建库建表 导入数据特别慢 电脑配置不够
  • 【Vue学习笔记】- 事件的基本使用

    总结 1 使用 v on xxx 或 xxx 绑定事件 其中xxx是事件名 2 事件的回调需要配置在methods对象中 最终会在vm上 3 methods中配置的函数 不要用箭头函数 否则this就不是vm了 4 methods中配置的函
  • 【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(二)

    软件测试知识持续更新中 第二章 python webdriver 环境搭建 第一节 环境搭建 准备工具如下 windows 环境安装 linux 环境安装 第二节 使用 IDLE 来编写 python 有效地使用 IDLE 第三节 第一个自
  • map 遍历时 删除元素

    import java io File import java io IOException import java util HashMap import java util Iterator import java util Map i
  • JMeter与Selenium WebDriver集成的价值

    JMeter作为性能或接口测试工具 用在UI测试上多少属于不伦不类 而Selenium WebDriver作为如今最主流的UI开源测试工具 得到许多人的认可 那么为什么有人要把JMeter与Selenium WebDriver进行结合呢 我
  • Android SwipeRefreshLayout 嵌套NestedScrollView 偶尔无法在下拉刷新的问题

    第一次接触谷歌的下拉刷新不太会用导致的问题 问题是在下拉刷新的时候长按不松开继续往下滑导致下拉刷新呗关闭 简单来说就是在下拉刷新的时候继续往上滑动触发ScrollView的滑动事件后关闭下拉刷新 如果是下拉刷新在运行中被关闭setEnabl
  • Android中BLE连接出现“BluetoothGatt status 133”的解决方法

    http www loverobots cn android ble connection solution bluetoothgatt status 133 html 前 言 最近的工作方向一直在低功耗蓝牙方面 也就是BLE Blueto
  • 《Python程序设计与算法基础教程(第二版)》第八章 函数与函数式编程 上机实践

    python实验四 上机实践 2 3 4 5 2 编写程序 定义一个求阶乘的函数fact n 并编写测试代码 要求输入整数n n gt 0 请分别使用递归和非递归方式实现 递归方式 def fact n if n 0 or n 1 retu