1.穷举法

枚举所有可能性,直到得到正确的答案或者尝试完所有值。
穷举法经常是解决问题的最实用的方法,它实现起来热别容易,并且易于理解。

2.for循环

for语句一般形式如下:
for variable in sequence:
code block
for后面的变量被绑定到序列中的第一个值,并执行下面的代码块,然后变量被赋值给序列中的第二个值,在此执行代码块。该过程一直继续,知道穷尽这个序列或者执行到代码中的break语句。 绑定变量的值通常由内置函数range生成,他会返回一系列整数。
range接受三个整数参数:START、stop、step。

3.函数

在Python中,函数定义如下
def name of function(list of formal parameters):
body of function
def是个保留字,告诉Python要定义一个函数;
函数名后边中的一系列名称是函数的形式参数,使用函数时,形参在函数调用时被绑定到事迹参数;
函数体是任何一段Python代码,但是有个特殊的return语句,只能用在函数体中。 函数调用是个表达式,和所有表达式一样,它也有一个值,这个值就是被调用函数返回的值

关键字参数和默认值

在Python中,两种方法可以将形参绑定到实参
1、位置参数:实参按照形参的位置传值
2、关键字参数:可以在实参列表中以任意顺序出现
注意:关键字参数放在非关键字参数后边是不合法的

4.作用域

实参和形参名称可以一样,但他们并不是同一个变量,每个函数都定义了一个命名空间,也称为作用域,形参作用域只在函数体内。
1>在最顶层,比如shell层,有一个符号表会跟踪记录这一层所有的名称定义和他们当前的绑定;
2>调用函数时,会建立一个新的符号表(常称为栈帧)。如果函数内又调用一个函数,就在建立一个栈帧。
3>函数结束时,它的栈帧也随之消失。 全局变量作用在当前文件中。

5.斐波那契数

def fib(n):
if n ==0 or n == 1:
return 1
else:
return fib(n-1) + fib(n-2) for i in range(10):
print('fib of ',i ,'=',fib(i)) 运行结果:
fib of 0 = 1
fib of 1 = 1
fib of 2 = 2
fib of 3 = 3
fib of 4 = 5
fib of 5 = 8
fib of 6 = 13
fib of 7 = 21
fib of 8 = 34
fib of 9 = 55

穷举法、for循环、函数、作用域、斐波那契数的更多相关文章

  1. 算法笔记_001:斐波那契数的多种解法(Java)

    本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数.具体问题及解法如下: 一.问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第 ...

  2. DP:斐波纳契数

    题目:输出第 n 个斐波纳契数(Fibonacci) 方法一.简单递归 这个就不说了,小n怡情,大n伤身啊……当n=40的时候,就明显感觉到卡了,不是一般的慢. //输出第n个 Fibonacci 数 ...

  3. HDU 1021(斐波那契数与因子3 **)

    题意是说在给定的一种满足每一项等于前两项之和的数列中,判断第 n 项的数字是否为 3 的倍数. 斐波那契数在到第四十多位的时候就会超出 int 存储范围,但是题目问的是是否为 3 的倍数,也就是模 3 ...

  4. 力扣题目汇总(重复N次元素,反转字符串,斐波那契数)

    重复 N 次的元素 1.题目描述 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次. 返回重复了 N 次的那个元素. 示例 1: 输入:[1,2,3,3] 输出:3 ...

  5. golang 斐波那契数

    golang 斐波那契数 package main import "fmt" /* 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci) ...

  6. LeetCode.509——斐波那契数

    问题描述: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0, F(1) = 1 F(N) ...

  7. 数学算法(一):快速求斐波那契数第n项通过黄金分割率公式

    有一个固定的数学公式= =,不知道的话显然没法应用 首先黄金分割率接近于这个公式, (以下为黄金分割率与斐波那契的关系,可跳过) 通过斐波那契数列公式 两边同时除以 得: (1) 注意后一项比前一项接 ...

  8. 用x种方式求第n项斐波那契数,99%的人只会第一种

    大家好啊,我们又见面了.听说有人想学数据结构与算法却不知道从何下手?那你就认真看完本篇文章,或许能从中找到方法与技巧.     本期我们就从斐波那契数列的几种解法入手,感受算法的强大与奥妙吧. 原文链 ...

  9. UVA 11582 Colossal Fibonacci Numbers! 大斐波那契数

    大致题意:输入两个非负整数a,b和正整数n.计算f(a^b)%n.其中f[0]=f[1]=1, f[i+2]=f[i+1]+f[i]. 即计算大斐波那契数再取模. 一开始看到大斐波那契数,就想到了矩阵 ...

随机推荐

  1. 盘点那些Vs中常用到的Tab快捷编码

    1.快速声明for循环:for+Tab 2.快速声明Foreach遍历:foreach+Tab 3.快速定义属性:prop+Tab 4.

  2. 使用docker部署.net core应用

    CentOS 使用VS2017新建一个asp.net core项目 发布web应用程序 使用FTP工具,将程序文件copy到linux上 XShell连上linux并登陆 cd /CoreWebDem ...

  3. python sqlite3查看数据库所有表(table)

    #coding:utf-8 import sqlite3 ''' sqlite3存在系统表sqlite_master,结构如下: sqlite_master( type TEXT,      #类型: ...

  4. [转]Prometheus 与 Grafana 实现服务器运行状态监控

    http://flintx.me/2017/12/12/Prometheus%20+%20Grafana%20%E5%AE%9E%E7%8E%B0%E6%9C%8D%E5%8A%A1%E5%99%A8 ...

  5. 【Arduino】开源开发板说明

    来自世界各地的新型微控制器层出不穷,这类开发板多数都是通过Arduino改进的版本,例如由Arduino所改良的Yún一样,主要是针对网状网路进行改进或升级了其它无线功能. 但一些开发板也有着其独到的 ...

  6. windows server远程连接提示“终端服务器超出了最大允许连接”

  7. 通过java代码进行impala和kudu的对接

    对于impala而言,开发人员是可以通过JDBC连接impala的,有了JDBC,开发人员可以通过impala来间接操作kudu: maven导包: <!-- https://mvnreposi ...

  8. Codeforces 822E Liar dp + SA (看题解)

    Liar 刚开始感觉只要开个dp[ i ][ j ][ 0 / 1 ]表示处理了s的前 i 个用了 k 段, i 是否是最后一段的最后一个字符 的 t串最长匹配长度, 然后wa24, 就gg了.感觉这 ...

  9. jQuery Validate自定义错误信息,自定义方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. AtCoder Regular Contest 100 (ARC100) E - Or Plus Max 其他

    原文链接https://www.cnblogs.com/zhouzhendong/p/9251448.html 题目传送门 - ARC100E 题意 给定一个正整数 $n(n\leq 18)$. 然后 ...