isinstance、流程控制(单项、双项、多项、巢状)
1、isinstance判断类型
# 方式一:判断是否是这个数据类型 a = "我是字符串" res = isinstance(a,str) print(res) # True res1 = isinstance(a,int) print(res1) # False # 方式二:判断是否属于这几种类型中的一个,用元祖来装判断的数据类型 b = "字符123()" res3 = isinstance(b,(str,dict)) print(res3) # True res4 = isinstance(b,(int,set,tuple,dict)) print(res4) # False
2、流程控制
2.1 代码块:以冒号为开始,用缩进来划分作用域
2.2 顺序结构:默认代码从上到下执行,如上图代码
2.3 分支结构:细分为4种
2.3.1 单项分支:
""" if 条件表达式: 代码1 代码2 如果条件表达式成立,返回True,执行对应的代码,反之不执行 """ tianqi = "晴" if tianqi == "晴": print("去海南玩") print("然后去看南海观音")
2.3.2 双项分支:
""" if 条件表达式: 代码1 代码2 else: 代码3 代码4 如果条件表达式成立,则执行if条件下的代码,反之则执行else下的代码 if代码块也叫做真区间 else代码块也叫做假区间 """ cunkuan = 800 if cunkuan>300: print("你有钱,可以买上海郊区的房子") else: print("你没钱,买老家的房子或者租房吧")
2.3.3 多项分支:
""" if 条件表达式1: 代码1 代码2 elif条件表达2: 代码3 代码4 elif条件表达式3: 代码5 代码6 else: 代码7 代码8 如果条件表达:1成立,则执行if条件下的代码, 如果条件表达式2成立,则执行条件2下的代码, 如果条件表达式3成立,则执行条件3下的代码 如果所有条件都不成立,则执行else的代码 """ cunkuan = 1500 if cunkuan>1000: print("你真有钱,可以买上海陆家嘴的房子") elif cunkuan >800: print("你有钱,可以买上海市区的房子") elif cunkuan>500: print("还可以,买郊区的房子吧") else: print("你没钱,买老家的房子或者租房吧")
2.3.4 巢状分支:单项、双项、多项分支的组合
cunkuan = 300 if cunkuan>500: if cunkuan > 800: if cunkuan >1000: if cunkuan >1500: if cunkuan > 6000: print("你真有钱,可以买上海陆家嘴400平的别墅") else: print("还是可以的,买市区300平的大房子吧") else: print("恭喜你,市区200平的大房子归你了") else: print("可以买150平的房子") else: print("继续存钱吧")
3、while循环
# 语法: """ while 表达式: 代码1 代码2 注意:初始化一个变量 写上循环的判断条件 自增自减的变量值 """
# 如果while条件永远为真,则while是一个死循环,需要手动加上终止的条件
3.1 案例一:打印一行十个小星星
i = 0 while i <10: print("*",end="") i += 1 # **********
3.2 案例二:通过打印变量,直接输出一行十个小星星
i = 0 var = "" while i <10: var += "*" i += 1 print(var) # **********
3.3 案例三:打印一行十个小星星,奇数个打印★,偶数个打印☆
i = 0 while i <10: if i % 2 == 1: print("★",end="") else: print("☆",end="") i += 1 # ☆★☆★☆★☆★☆★
3.4 案例四:一个循环打印十行十列小星星
i = 0 while i <100: print("*", end="") if i % 10 == 9: print() i += 1 # ********** # ********** # ********** # ********** # ********** # ********** # ********** # ********** # ********** # **********
3.5 案例五:一个循环打印十行十列隔列变色小星星
i = 0 while i <100: if i % 2 == 1: print("★",end="") else: print("☆",end="") if i % 10 == 9: print() i += 1 # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★ # ☆★☆★☆★☆★☆★
3.6 案例六:一个循环打印十行十列隔行变色小星星
i = 0 while i < 100: if i // 10 % 2 == 0: print("★",end="") else: print("☆",end="") if i % 10 == 9: print() i += 1 # ★★★★★★★★★★ # ☆☆☆☆☆☆☆☆☆☆ # ★★★★★★★★★★ # ☆☆☆☆☆☆☆☆☆☆ # ★★★★★★★★★★ # ☆☆☆☆☆☆☆☆☆☆ # ★★★★★★★★★★ # ☆☆☆☆☆☆☆☆☆☆ # ★★★★★★★★★★ # ☆☆☆☆☆☆☆☆☆☆