运算符的补充及流程控制

运算符的补充

1.成员运算符

成员运算符:就是查看某个个体是否在某个群体的内部

关键字:

          in(在)   ; not in(不在)

names_list = ['kevin', 'jack', 'tank', 'tony']
print('kevin' in names_list) # True
print('aa' in names_list) # False

print('hello' in 'hellworld') # False
print('ke' in 'kevin') # True

print('kevin' in {'username': 'kevin', 'age': 18}) # False
print('username' in {'username': 'kevin', 'age': 18}) # True

运行结果:

 身份运算符

身份运算符:比较两个值是否相等

关键字 :

      ==(用来比较值是否相等)    

1 s1 = ['kevin', 'tank', 'jack']
2 s2 = ['kevin', 'tank', 'jack']
3 
4 print(s1 == s2)  # True

运算结果:

      is(用来比较内存编号是否相等)

1 s1 = ['kevin', 'tank', 'jack']
2 s2 = ['kevin', 'tank', 'jack']
3 
4 print(s1 is s2)  # False
5 print(id(s1))
6 print(id(s2))

运行结果:

 值相等的内存编号不一定相等

  内存编号相等的值一定相等

流程控制

流程控制就是控制事物的执行流程

1. 顺序结构

顺序结构就是自上而下的依次执行

2.分支结构

分支结构:根据判断条件的真假去执行不同分支的代码块

1. 单分支结构      

        """
             语法格式:
                              if 条件:
                                 条件成立之后要执行的代码块
        """

eg

mao = 18
    if mao < 26:
        print('小猫咪真可爱,跟我回家嘛')

 2.双分支结构

          """
                        语法格式:
                              if 条件:
                                 条件成立之后要执行的代码块

                             else:
                                 条件不成立执行的代码块

          """

eg.

age = 18
     if age < 26:
        print('小姐姐')
     else:
        print('认错人了')
        
    # 双分支结构有且只能执行一个分支
  

结果:

 3.多分支结构

            """
     语法格式:
          if 条件1:
            条件1成立之后执行的代码块
          elif 条件2:
            条件1不成立,条件2成立执行的代码块
          elif 条件3:
            条件1、条件2不成立,条件3成立之后执行的代码块
            ...
          else:
            以上所有条件都不成立的话,执行的代码块
        # 以上不管你写了多少种情况,也只会执行一种情况
    """

eg.

score = 90
if score >=90:
    print('优秀')
elif score >=80 :
    print('良好')
elif score >=70:
    print('中等')
elif score >=60:
    print('及格')
else :
    print('重修')

运行结果:

    # 注意事项: 

       1.条件都要转为布尔类型判断,根据条件的成立与否,决定是否执行代码块

       2.条件成立之后,需要执行子代码块,子代码是要缩进的,一般情况下推荐使用4个空格作为缩进(或按 Tab)

       3.只要遇到冒号,下面一行代码必缩进

       4. 当你的字代码块只有一行的时候,可以不换行,直接写在冒号后面

       5.同属于一个代码块的子代码块,缩进量要一样

                  6.不是所有的代码都有子代码块

if else练习题

1. 让用户输入用户名和密码,判断用户名和密码是否正确,如果正确,打印登录成功,否则打印用户名或者密码错误,用户名:kevin,密码:123

username = input('username:')
password = int(input('password:'))
if username == 'kevin' and password == 123:
    print('登录成功')
else:
     print('登录失败')

 

3. 循环结构

循环结构就是重复执行

  """
    语法结构:
        while 条件:
          条件成立之后执行的循环体
  """

eg.

while True:
    # 1. 先让用户输入用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')  # password: str---->123

    password = int(password)  # 只能转数字类型的
    # 2. 比较用户名和密码
    # 在python中,==比较值大小和类型
    # if username == 'kevin' and password == '123':
    if username == 'kevin' and password == 123:
        print('登录成功')
    else:
        print('登录失败')

运行结果:

while+break

break:跳出本次循环

eg.

count = 0
while count < 3:
    # 1. 先让用户输入用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')  # password: str---->123

    password = int(password)  # 只能转数字类型的
    # 2. 比较用户名和密码
    # 在python中,==比较值大小和类型
    # if username == 'kevin' and password == '123':
    if username == 'kevin' and password == 123:
        print('登录成功')
        break  # 调出while循环,它是跳出本层循环
    else:
        print('登录失败')

运行结果:

 

标志位的使用

 

# 标志位的使用
flag = True
while flag:
    # 1. 先让用户输入用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')  # password: str---->123

    password = int(password)  # 只能转数字类型的
    # 2. 比较用户名和密码
    # 在python中,==比较值大小和类型
    # if username == 'kevin' and password == '123':
    if username == 'kevin' and password == 123:
        print('登录成功')
        while flag:
            cmd = input('请输入你的指令:')
            print('正在执行你的指令: %s' % cmd)

            '''如果输入的是q,就退出整个程序'''
            if cmd == 'q':
                flag = False
    else:
        print('登录失败')

 

posted @ 2023-05-17 20:56  Maverick-Lucky  阅读(36)  评论(0)    收藏  举报