Python第四天 阶乘

一直有在学,不过没来博客园,随便写点吧,写个阶乘的小代码

def f(n):
    last=1
    for i in range(1,n+1):
        last*=i
    return  last
num=int(input(‘what the number\n‘))
print(‘f‘+‘(‘+str(num)+‘)=‘,f(num))

或者用递归的思路

def fact(n):
    if n==1:
        return 1
    return  n*fact(n-1)
num=int(input(‘what the number\n‘))
print(‘fact‘+‘(‘+str(num)+‘)=‘,fact(num))

  下面是三种思路的斐波数列:

1:

def fibo(n):
    befor=0
    after=1
    for i in range(n-2):
        ret=after+befor
        befor=after
        after=ret

    return ret
print(fibo(7))

 2:

def fibo(n):
    if n==1:
        return 0
    elif n==2:
        return 1
    return fibo(n-1)+fibo(n-2)
print(fibo(7))

  3:

def fibo(n):
    if n<=2:
        return n-1
    return fibo(n-1)+fibo(n-2)
print(fibo(7))

  

时间: 2024-10-14 14:20:09

Python第四天 阶乘的相关文章

Python 基础 四

今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 在Python中四个产生反射的函数,分别是:hasattr();getattr();setattr();delattr(); 下列方法适用于类和对象(一切皆对象,类本身也是一个对象) hasattr((object, name, default=None)) 判断object中有没有一个name

Python(四)装饰器、迭代器&生成器、re正则表达式、字符串格式化

本章内容: 装饰器 迭代器 & 生成器 re 正则表达式 字符串格式化 装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能. 先定义一个基本的装饰器: ########## 基本装饰器 ########## def orter(func):    #定义装饰器     de

怒学Python——第四篇——函数与模块

Python的函数:其实和C++非常类似,不过由于是弱类型的语言(用起来感觉是......),把那些类型声明都去掉了,传的是值不是引用(至少2.7是),有一点点小区别是前面必须加def来定义(好像宏定义的样子......),下面给出示例 def sum(a, b): #sum为函数名,注意冒号...... c = a + b #这一部分是函数的语句块 return c #到这里函数就结束了,和C++一样 print sum(1, 2) #根据函数名调用函数,输出1+2的值 这里也有lambda函

selenium-webdriver(python) (十四) -- webdriver原理(转载虫师自动化)

selenium-webdriver(python) (十四) -- webdriver原理 2013-08-22 12:55 by 虫师, 13926 阅读, 12 评论, 收藏, 编辑 之前看乙醇视频中提到,selenium 的ruby 实现有一个小后门,在代码中加上$DEBUG=1 ,再运行脚本的过程中,就可以看到客户端请求的信息与服务器端返回的数据:觉得这个功能很强大,可以帮助理解webdriver的运行原理. 后来查了半天,python并没有提供这样一个方便的后门,不过我们可以通过代理

初学Python(四)——set

初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] s = set([1,1,2,3,4,5]) print d print s ''''' 打印出来的效果看出,多了一个set()后, list就变成了不能存储重复数据的类型了, 这叫set,不是list. ''' #添加元素 s.add(6) print s #删除元素 s.remove(6) p

Python进阶(四十)-数据可视化の使用matplotlib进行绘图

Python进阶(四十)-数据可视化の使用matplotlib进行绘图 前言 ??matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图.实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间.用户在熟悉了核心对象之后,可以轻易的定制图像.matplotlib的对象体系也是计算机图形学的一个优秀范例.即使你不是Python程序员,你也可以从文中

Python第四课(数据类型)

Python第四课(数据类型)   >>>转到思维导图>>>转到我的博客 整型(int) 用途:记录QQ号.手机号.身份证号等 定义:age = 18 常用操作+内置的方法 ?int只能转存数字的字符串,小数点都不行 ?进制转换 >>> print(int('1100',2)) # 二进制转十进制 0,1 12 >>> print(int('14',8)) # 八进制转十进制 0-7 12 >>> print(int

Python进阶(四十九)-初识Flask Blueprint

Python进阶(四十九)-初识Flask Blueprint 前言   在进行Python Web开发时选择Flask框架.项目模块划分阶段,使用Blueprint(这里暂且称之为“蓝本”).Blueprint通过把实现不同功能的module分开,从而把一个大的application分割成各自实现不同功能的module.在一个Blueprint中可以调用另一个blueprint的view function, 但要加相应的blueprint名.   Blueprint还有其他好处,其本质上来说就

python基础四

递归调用.高阶函数.函数作用域.python内置函数.装饰器.模块.random.json串和积累 一.递归调用 递归调用就是一个函数自己调用自己,自我调用最多调用999次. 特性:1.必须有一个明确的结束条件: 2.每次进入更深一层递归时,问题规模相比上次递归都应该有所减少: 3.递归效率不高,建议少用递归 def test(): n=int(input('please input a number: ')) if n%2==0: return True print('输入的不是偶数') te