Python学习笔记-循环与函数

# -*- coding: utf-8 -*-

#for 循环

for i in range(0,30,5):

print(i)

''' for 循环形式:for i in range(start,end,steps)

遍历算法

'''

#while循环

s = 0

i = 1

while i<=100:

s +=i

i +=1

print(s)  #运行结果:5050

# continue pass break

for i in range(0,100): #定义变量范围

if i <100:

pass #什么也不做

elif i<30:

continue #进入下一次循环,其实这里也是什么都不做。

elif i <35:

print(i)

else:

break #中断循环,

#函数定义

def func_name(arg_1,arg_2):

print(arg_1,arg_2)  #一定要空格

return arg_1+arg_2  #返回值,如果是多个值,则会返回元组。

r = func_name(1,2)

print(r)

print(type(r))

#默认函数

def func(x,y=500): #y不指定值时,会默认返回500

print('x= ',x)

print('y=',y)

return x+y

print(func(100))  #即:输出x 100,y 500

print(func(y=300,x=200)) #函数内的参数名字顺序可以随意调换。

print(func(x=400))

def func(p):

print('x=',p['x'])

print('y=',p['y'])

print(func({'x':200,'y':100})) #也可以用字典实现以上类似的功能

#可变参数

def func(name,*numbers): #参数前加*,表示为可变参数

print(type(numbers))  #类型为 tuple 元组类型。

'''实际上是把参数name后面的所有参数放到一个数组里面去,

而且类型无要求,元组内的元素类型可以不同。

'''

print(numbers)

print(numbers[0])

return 'done'

func('1',2,3,54)  # tuple -元祖 <=>只读数组

#可变参数怎么引用

def my_print(*args):

print(args)

print(*args) #表示,把数组作为可变参数处理

my_print(3,2,3,'ab','c')

def func(name,**kvs): #**意味着 key/value 类型的字典

print(name)

print(type(kvs))

print(kvs)

func('tom',chin='beijing',uk='london')

def func(a,b,c=0,*args,**kvs):

print(a,b,c)

print(args)

print(kvs)

func(1,2)

func(1,2,3)

func(1,2,3,'a','b')

func(1,2,3,'a','b',china='BJ',uk='LD')

func(1,2,3,*('a,','b'),**{'china':'BJ','uk': 'LD'}) #与上一行相比,增加了代码的可读性

def my_print(*args):

print(*args)

my_print('x=',100,'; y=',200)

#递归:把大问题分解为小问题进行求解

#斐波那契数列 f(n) = f(n-1) +f(n-2)

def fib(n):

if n<1:

raise ValueError

if n<=2:

return 1

else:

return fib(n-1) + fib(n-2)

print(fib(1))

print(fib(2))

print(fib(3))

print(fib(4))

print(fib(5)) # 如果是fib(40)的话,计算速度太慢

#汉诺塔问题

def hanoi(n,A,B,C):

if n==1:

print(A + "->" + B)

else:

hanoi(n-1,A,C,B)

print(A + "->" + B)

hanoi(n-1,C,B,A)

hanoi(4,'A','B','C')

#函数作为参数

p = print

p (1,2,3) #调用P和调用print是等价的

def sum(x,y,p =None):

s = x+y

if p:  #表示 P为真的时候,执行下面操作即P不是None

print(s)

return s

sum(100,200) #第三个参数为None,不执行if,即不打印s

sum(100,200,print) # 第三个参数不是None,即执行print(s)

#比较函数

def cmp(x,y,cp=None):

if not cp:

if x>y:

return 1

elif x

return -1

else:

return 0

def my_cp(x,y):

if x

return 1

elif x==y:

return 0

else:

return -1

print(cmp(100,200))

print(my_cp(100,200))

#例子

def do_sum(data,method):

return method(data)

print(do_sum([1,2,3,4],sum))


原文链接

elif x

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容

  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 1,645评论 0 5
  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 947评论 0 2
  • 二宝八岁,上小字三年级。放学仍需要妈妈去接。 过马路时她那温暖的小手紧紧地拽着妈妈的手,好像生怕妈妈丢下她一个人走...
    天凉好个秋吖阅读 175评论 2 0
  • 在我写今天的神奇经历之前,我要向各位在我简书上面的打赏各位亲们说声谢谢!真的很感谢!这其中有亲人有朋友,更难能可贵...
    天蝎C加加阅读 1,316评论 13 10
  • 费尔明娜对弗洛伦蒂诺是不是爱情?为何她在两人分开几年的 再一次相遇却如此失望,当下就要与他断了往来,之前的情书信...
    不羽阅读 517评论 0 0