day5:isinstance&代码块&分支&while循环
1.判断类型 isinstance
语法:
用法一:
isinstance(要判断的值,要判断的类型) 返回True 或者 False
用法二:
isinstance(要判断的值,(可能的类型1,可能的类型2,可能的类型3 ... ) ) 如果有一个类型满足,返回的是True 否则 返回False
数据类型:
int float bool complex str list tuple set dict
2.代码块 : 以冒号作为开始,用缩进来划分作用域
作用域:作用的区域,作用的范围
代码块的注意点:要么全都是一个tab缩进,要么全都是4个空格,不能混合使用
3.流程控制
流程: 代码执行的过程
控制: 对代码执行过程的一种把控
三大结构:
1.顺序结构 : 默认代码依次从上到下执行
2.分支结构 : 4种
3.循环结构 : for while
分支结构:
(1)单项分支
(2)双项分支
(3)多项分支
(4)巢状分支
4.单项分支
if 条件表达式:
code1
code2
当条件表达式成立,返回True,执行对应的代码块,反之不执行
例子:
1 liucaixia = "女生" 2 if liucaixia == "女生": 3 print("给他买一些好吃的") 4 print("给他买一些好玩的") 5 print("陪她出去逛街") 6 print("陪她买化妆品")
5.双项分支
if 条件表达式:
code1
code2
else:
code3
code4
例子:
1 liucaixia = "抠脚老汉" 2 if liucaixia == "女生": 3 print("加他微信") 4 print("加他手机") 5 print("收集他的兴趣爱好") 6 print("以后多联系") 7 else: 8 print("给你一榔头~")
如果条件表达式成立,执行if对应的代码块
如果条件表达式不成立,执行else对应的代码块
if 代码块也叫做真区间
else 代码块也叫做假区间
6.input 等待用户输入字符串,接受的数据是字符串
1 username = input("请输入您的用户名:") 2 password = input("请输入您的密码:") 3 if username == "admin" and password == "000": 4 print("登录成功~") 5 else: 6 print("登录失败~")
7.多项分支 (多选一)
语法:
if 条件表达式1:
code1
code2
elif 条件表达式2:
code1
code2
elif 条件表达式3:
code1
code2
else:
code...
例子:
1 youqian = False 2 youfang = False 3 youche = False 4 youyanzhi = False 5 youtili = False 6 7 if youqian == True: 8 print("我就嫁给你1") 9 elif youfang == True: 10 print("我就嫁给你2") 11 elif youche == True: 12 print("我就嫁给你3") 13 elif youyanzhi == True: 14 print("我就嫁给你4") 15 elif youtili == True: 16 print("我就嫁给你5") 17 18 else: 19 print("你是个好人")
如果条件表达式1成立,返回True,执行对应的代码块,反之则向下执行
如果条件表达式2成立,返回True,执行对应的代码块,反之则向下执行
如果条件表达式3成立,返回True,执行对应的代码块,反之则向下执行
直到最后,任何条件都不满足,执行else这个分支的代码块.
elif 可以出现0次或者多次
else 可以出现0次或者1次
8.巢状分支 (单项分支,双项分支,多项分支的互相嵌套)
1 youqian = False 2 youfang = False 3 youche = False 4 youyanzhi = False 5 youtili = False 6 7 8 if youqian == True: 9 if youfang == True: 10 if youche == True: 11 if youyanzhi == True: 12 if youtili == True: 13 print("老娘今天死活要嫁给你,等着接盘吧,兄弟") 14 else: 15 print("恭喜你~ 成为我的1号备胎") 16 else: 17 print("你可以上韩国整整容,整成金城武再来.") 18 else: 19 print("出门左拐,乘2路汽车,2站之后下是你家,不送了,老弟.")
9.循环结构: while 循环
特点:减少冗余的代码,提升代码的效率
语法:
while 条件表达式:
code1...
code2...
1.初始化一个变量
2.写上循环的判断条件
3.自增自减的变量值
1 # 计算1~100的累加和 2 # 方法一 3 i = 1 4 total = 0 5 while i<=100: 6 # 把所有的i值全部累加到total这个变量中 7 total += i # total = total + i 8 i+=1 9 10 print(total) 11 12 13 14 # 方法二 15 total = 0 16 i = 1 17 sign = True 18 while sign: 19 total += i # total = total + i 20 i+=1 21 22 # 手动加上终止循环的条件 23 if i == 101 : 24 sign = False 25 print(total)
-------------------------------------------------------------------------
单项循环的练习:
1.打印一行十个小星星,奇数个为★ , 偶数个位☆
1 i = 0 2 while i<10: 3 # 写上代码的逻辑 4 if i % 2 == 0: 5 print("★",end="") 6 else: 7 print("☆",end="") 8 i+=1
2.一个循环打印十行十列的小星星
1 i = 0 2 while i < 100: 3 # 打印星星 4 print("*",end="") 5 6 # 打印换行 7 if i % 10 == 9: 8 print() 9 i+=1
3.一个循环打印十行十列隔列换色的小星星
1 i = 0 2 while i < 100: 3 # 打印星星 4 # print("*",end="") 5 if i % 2 == 0: 6 print("★",end="") 7 else: 8 print("☆",end="") 9 10 11 # 打印换行 12 if i % 10 == 9: 13 print() 14 i+=1
4.一个循环打印十行十列隔行换色的小星星
1 i = 0 2 while i<100: 3 4 # 打印星星 5 if i // 10 % 2 == 0: 6 print("★",end="") 7 else: 8 print("☆",end="") 9 10 # 打印换行 11 if i % 10 == 9: 12 print() 13 14 i+=1