函数的流程控制:
if...else... a = 100 b = 200 if a == 100 and b ==300: print('100,200') elif b == 200: print('等于200') else: print('不等于100也不等于200')
while 条件
循环体:
如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
如果条件为假,那么循环体不执行,循环终止
while a = 0 while a <= 10: if a%2 == 0: print(a) a += 1 l1 = ['a','b','c','d','e','f'] a = 0 while a < len(l1): print(l1[a]) a += 1
continue,break,pass
break:跳出循环,并且break往后的代码将不会被执行
continue:跳出本次循环,继续下一次循环,并且continue往后的代码将不会被执行
pass;占位符,不执行任何操作,只是占位
while True: result = input('==>:') if not result: continue else: print(result) n = 0 while n <= 15: if n == 10: pass else: print(n) n += 1
流程控制之for循环:
1 迭代式循环:for,语法如下
for i in range(10):
缩进的代码块
2 break与continue(同上)
for:遍历出每个元素,for可以循环字符串,列表,字典,集合,元组
for循环字典循环出来的是key
a = [1,2,3]
b = 'abcdefg'
d = {'name':'小米','age':25}
for i,u in d.items():
print(i)
for i in range(11,0,-2):
print(i)
实例:
猜拳游戏,石头剪刀布。
import random print('*'*20) print("***欢迎来到猜拳游戏*** " "提示(请输入数字) " "1(石头),2(剪刀),3(布),0(退出游戏) " "赢一局得3分,输一局扣3分,平局不得分 ") y = 0 p = 0 s = 0 f = 0 while True: play = input("请出拳:") computer = random.randint(1, 3) res = play.isdigit() if res == True: player = int(play) if player <= 3 and player >=0: if (computer==1 and player==2) or (computer==2 and player==3) or (computer==3 and player==1): print("你输了,请再接再厉") s += 1 elif computer == player: print("平局") p += 1 elif player == 0: break else: print("你赢了!请继续加油") y += 1 else: print("输入错误,请重新输入!" "提示:" "1(石头),2(剪刀),3(布),0(退出游戏)") else: print("输入错误,请输入数字") f = y*3 - s*3 print("你赢了%d局,输了%d局,平局%d,共计得分%s"%(y,s,p,f))
定义一个函数:
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
eg: def ChangeInt(a): a = 10 b = 2 ChangeInt(b) print(b) >>> 2 "修改传入的列表" def changeme(mylist): mylist.append([1, 2, 3, 4]) print("函数内取值: ", mylist) return mylist = [10, 20, 30] changeme(mylist) print("函数外取值: ", mylist) >>> 函数内取值: [10, 20, 30, [1, 2, 3, 4]] >>> 函数外取值: [10, 20, 30, [1, 2, 3, 4]] "打印任何传入的字符串" def printme(str): print(str) return printme(str="My string") >>> My string # 可写函数说明 "打印任何传入的字符串" def printinfo(name, age): print("Name: ", name) print("Age ", age) return printinfo(age=50, name="miki"); >>> Name: miki >>> Age 50 "打印任何传入的参数" def printinfo(args,*vartuple): print(args) for var in vartuple: print(var) return printinfo(10) printinfo(70, 60, 50) >>> 10 >>> 70 >>> 60 >>> 50