条件语句: 用于判定,判定是否符合某条件,符合则执行,不符合则不执行该条件所定义的操作。
一步判定: 用于理解不会这样使用。
if 1==1: if条件判定只能出现一次。
print("1") 这里的print相对于if 有四个空格或者一个Tab键的缩进,意思是print是if代码当中的一部分。
1==1 是固定写死的条件,平常我们会采用动态条件而不是写死的条件,这里仅作演示之用。if 后面必须加条件 ,条件是要经过布尔运算的,运算结果为True时,那么执行该条件语句当中的后续代码,也就是print。很明显上述代码中1==1 这个等式是对的,也就是布尔运算过后为真-True,所以print被执行。如果1==1这里的条件布尔值不满足True,那么print将不会被执行。例如将1==1 替换为1>1 1>1经过布尔运算之后会得到False。
两步判定:
if 1 == 1: print("正确")else: print("错误")
在这里 代码优先运行上面的if,如果if后面的条件为True,那么执行打印 正确,else则不执行。如果if后面的条件不满足则跳过if代码段直接执行 else。
多条件两步判定:
if 1 == 1 and 2 > 1: print("正确")else: #else 只能一次出现。 print("错误")
此时 if后面有两个条件,且使用了and,那么也就是说 这两个条件经过布尔运算之后都要得到True,才能执行print 正确。否则执行else的打印错误。
and 是两面同时都要满足,or是只要满足一个即可。
多步判定:
name = input(">>>:")#input函数自动赋值if name == "admin": print("管理员登录")elif name == "guest": #elif可以无限次出现 print("访客登录")else: print("未知用户")
上述代码 首先定义一个接收函数 并赋值给name,然后在条件语句中判断该函数与条件是否满足,满足则执行,不满足则匹配下一个条件语句。
条件语句嵌套与结束:
user_type = input("请输入用户类型admin or guest:")if user_type == "admin": user_name = input("请输入用户名:") if user_name == "armin": print("欢迎armin") elif user_name == "admin": print("欢迎管理员") else: print("未知用户")elif user_type == "guest": print("欢迎访客") else: print("未知用户")
上述 第一层面是 if elif 和else 首先先从这三个里面进行条件判定,若其中一个符合,那么则进入细节执行。例如这里如果if条件符合了,那么接下来该执行if里面的 if elif 和else了。这里看到 第一个if里面又增加了 一些if elif else 这些就是嵌套。
练习题:
1 利用learning2当中的 input getpass 以及本篇讲解中的条件语句设置一个用户登录,用户名密码正确提示登录成功,错误提示用户名或密码错误。
2 扩展练习 可以细化多个用户名以及密码,要求输入A登录成功 显示欢迎管理员 B登陆成功显示 都不对则显示用户名或者密码错误。 欢迎使用者.....
3 扩展练习 首先提示输入类别,并给出登陆的类别提示,然后在根据提示输入用户名。用户名匹配则提示输入密码,密码正确给出提示,密码错误给出提示并退出程序。要求多个用户名。采用嵌套方式