一、if语句 1。if是什么:if是个关键字,判断语句,有如果的意思,后面跟上判断语句。 2。If的使用(语法规则): if条件表达式:(条件表达式运算结果是个bool类型,当条件表达式的运算结果为True执行缩进里面的代码) 代码:(判断用户输入的用户是否正确,如果用户输入的用户名是yige那么就正确,执行缩进里面的代码) nameyige usernameinput(请输入用户名:) ifnameusername: print(用户名正确) 注意:是赋值,才是比较是否相等,是比较运算符比较是否相等,结果为bool,相等为True,不相等为False if条件表达式: else:(else是关键字,表示否则的意思) 判断,如果用户输入的用户名是正确的,提示正确,否则提示错误 代码(条件为True执行if缩进里面的代码,否则执行else缩进里面的代码) nameyige usernameinput(请输入用户名:) ifnameusername: print(用户名正确) else: print(用户名错误) if条件表达式: elif条件表达式:(elif是关键字,表示elseif(否则如果),功能判断) else: 代码(不同的天气做不同的事,有多重情况,如果天气是晴天,我们就出去玩,否则我们看下是不是阴天,如果是阴天我就去钓鱼,否则我们在看下是不是下雨天,如果是下雨天,我们就在家干饭): weatherovercast 使用elif ifweathersunny: print(出去玩) elifweatherovercast: print(钓鱼) elifweatherrain: print(在家干饭) else: print(未知天气) 仅使用if ifweathersunny: print(出去玩) ifweatherovercast: print(钓鱼) ifweatherrain: print(在家干饭) else: print(未知天气) 区别:一个if判断语句,如果if或者elif条件为True执行缩进里面的代码,同时if语句结束,若只用if,则是多个判断语句,每个语句都会执行(即ifelifelse中只会执行一个代码,执行完毕后这个语句就算结束)。 注1:我们通常用三引号进行注释,因为它支持换行,同时没有定义变量保存,不会被引用,就会被垃圾回收机制回收。 注2:代码优化的原则:逻辑更加简单,比如少用否定,多用肯定;用英文代替拼音,减少歧义。 基础格式总结: if条件表达式: print(为True执行缩进里面的代码) 升级格式:加入elif,做多重校验 if条件表达式: print(为True执行缩进里面的代码,为False继续校验) elif条件表达式: print(为True执行缩进里面的代码,为False继续校验) 再次升级:加入else,做错误校验 if条件表达式: print(为True执行缩进里面的代码,为False继续校验) elif条件表达式: print(为True执行缩进里面的代码,为False继续校验) elif条件表达式: print(为True执行缩进里面的代码,为False执行else里面的代码) else: print(未知) 总结: 使用场景: 单个条件,我们用if 两种情况我们if:else: 多种情况我们用if:elif:else: 思考题目(判断以下使用哪种if格式): 判断密码是否正确,正确提示正确,错误提示错误? 答:使用ifelse 判断今天是周几? 答:使用ifelifelse 如果是单数,我们做加法 答:使用if 二、三目运算(if语句的简写格式) 三目运算 需求:我有两个变量: a10 b20 求最大值 分析:定义一个变量保存最大值,有两种,要么a大,要么b大,所以我们使用ifelse : ifab: ca else: cb 三目运算优化(trueIfabelsefalse): daifabelseb 2代码(判断a,b,c中的最大数): a,b,c10,20,30 ifab: ifac: maxa else: maxc else: ifbc: maxb else: maxc 三目运算: max(aifacelsec)ifabelse(bifbcelsec) print(f最大值是{max}) 注意:只有简单if判断可以使用,过于复杂判断就不要使用了,那样会影响代码的可读性 三、逻辑运算 1。判断符:等于(),不等于(!),大于(),大于等于(),小于(),小于等于()。 注:判断符运算出来的结果是bool值(True和False) 2。逻辑运算符:与(and)(全部为True,才为True),或(or)(一个为True则为True),非(not)(取反False为True,True为False) 作用:连接多个条件 注:在其他语言中常用来表示and,常用来表示or,常用!来表示not 与逻辑与逻辑 或逻辑 非逻辑 3。逻辑短路:逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断,这个称为逻辑短路(如与逻辑中判断前一个为假就会直接输出结果)。 注:Python底层会把连续判断转化成and连接的形式,如123会转化为12and23。 需求:做登陆,判断用户输入的用户名和密码是否正确 分析:if判断,用户名用户输入的用户名,密码也要等于用户输入的密码 代码: print(‘欢迎来到码趣联盟’) print(‘加载中。。。’) dbname‘yige’ dbpassword‘qwe123’ print(‘进度条加载完毕’) nameinput(‘请输入用户名:’) passwordinput(‘请输入密码:’) ifnamedbnameandpassworddbpassword: print(f‘biu。登陆成功,进入游戏,欢迎{name}用户’) else: print(‘账号或密码错误’) 四、while循环 1。功能:while的使用和if类似,判断为真的时候则运行缩进里面的代码,判断式为假时则停止循环 2。语法: while条件表达式: (为True执行的代码) while条件表达式: (为True执行的代码) else: (循环正常执行完毕,才会执行else里面的代码,如果因为break异常终止是不会执行) 3。while执行流程: 1。执行while后面的条件表达式,为True执行缩进里面的代码 2。执行完缩进里面的代码后,再次回到while,再做校验,也就回到第一步 3。直到为False停止 代码: count1 whilecount5: print(f’一个老师在跑圈,现在是第{count}圈’) count1 print(‘跑完了’) 4。break用于结束循环: count1 weather‘sun’ whilecount5: ifcount3: weatherrain print(‘下雨了,不跑了’) break print(f’一个老师在跑圈,现在是第{count}圈’) count1 else: print(‘跑完了’) 注:while后面也可以直接跟上True,但是内部就必须要使用break来终止循环 使用break终止的循环,是不会执行else的内容 五、应用的补充: 1。获取随机数 importrandom boomrandom。randint(0,1)(获取0,1之间的随机数) 问:登陆升级,如果用户和密码错误,就让他一直输入,知道正确为止 分析:多次校验相同的条件,用while print(欢迎来到码趣联盟) print(加载中。。。) dbnameyige dbpasswordqwe123 print(进度条加载完毕) nameinput(请输入用户名:) passwordinput(请输入密码:) 使用if时: ifnamedbnameandpassworddbpassword: print(fbiu,登陆成功,进入游戏,欢迎{name}用户) else: print(账号密码错误) 使用while时: whilename!dbnameandpassword!dbpassword: print(‘账号或密码错误,请重新输入’) nameinput(‘请输入用户名:’) passwordinput(‘请输入密码’) else: print(f‘biu,登陆成功,进入游戏,欢迎{name}用户’) 总结: 1、if后面更上判断表达式,注意加上冒号和缩进; 2、else不能单独使用,后面直接跟上冒号,没有判断式 3、elif只能跟在if后面,不能单独出现 4、and是并且的意思,也就是说左右两边需要同时满足 5、or是或者的意思,左右两边只要满足一个即可 6、not是取反的意思,也就是真会变成假,假会变成真 7、循环一定能够被终止掉,判断式可以为假 8、while后面的else在循环正常终止的情况下会执行 9、break终止循环,且后面的else不会执行 练习题: 1、利用while写出九九乘法表 2、利用random的randint方法写一个猜数字的小游戏