caicaix

导航

基本运算符和流程控制

基本运算符

1.成员运算符

关键字: in (在)    not  in(不在)

查看某个个体在不在某个群体里

例:

 1 names_list = ['kevin', 'jack', 'tank', 'tony']
 2 print('kevin' in names_list)  # True
 3 print('aa' in names_list)  # False
 4 print('bb' not in names_list)  # True
 5 
 6 print('hello' in 'helleworld')  # True
 7 print('ke' in 'kevin')  # True
 8 
 9 print('kevin' in {'username': 'kevin', 'age': 18})  # False
10 print('username' in {'username': 'kevin', 'age': 18})  # True

 

2.身份运算符

关键字: ==(是否相等)、 is(内存地址是否相等)

比较两个字值是否相等

内容相同的变量内存地址不一定相同,占用空间内存小到一定程度时相同

1 s1 = ['kevin', 'tank', 'jack']
2 s2 = ['kevin', 'tank', 'jack']
3 
4 print(s1 == s2)  # True
5 # is比较的是id
6 print(id(s1))  # 2326433287488
7 print(id(s2))  # 2326433286528
8 
9 print(s1 is s2)  # False

 

流程控制

控制事物的执行流程,类似流程图用代码进行流程

1.顺序结构

从上到下流顺结构,类似流程图一条直线,代码执行从上到下

2.分支结构

根据不同的条件执行不同的分支,类似流程图是否,是要怎样怎样,否要怎样怎样

在python中的分支结构,条件都要转为布尔类型判断,根据判断的结果进行子代码块,遇到冒号子代码块需要缩进,//一般是四格,如果子代码只有一行,可以直接写在冒号后面,同属一个代码块缩进要相同,就是他们的头要在同一条直线上

1.单分支结构

就是只有一个判断条件,其中的判断结果只有一种继续执行结果,另外一种不执行

 

语法格式:

if 条件:

条件成立后要执行的代码块

 

例:

 

1 name = '蔡敏'
2 if input() == name:
3     print('原来你就是蔡敏')
4 # 不是蔡敏就不认识无事发生hhhh

 

 

2.双分支结构

在单分支结构上将另外的一种判断,执行另外情况

语法格式:

if 条件:

条件成立后要执行的代码块

else:

条件不成立执行的代码块

例:

1 name = '蔡敏'
2 if input() == name:
3     print('原来你就是蔡敏')    # 听说过对应一下
4 else:
5     print('你好,认识一下')  # 不认识没听过认识一下

 

3.多分支结构

对应多种判断,执行不同的情况,代码是至上而下的,会先从第一个条件中判断,不满足才会进行下一种

语法格式:

if 条件1:

条件1成立之后执行的代码块

elif 条件2:

条件1不成立,条件2成立执行的代码块

elif 条件3:

条件1、条件2不成立,条件3成立之后执行的代码块

...

else:

以上所有条件都不成立的话,执行的代码块

# 以上不管你写了多少种情况,也只会执行一种情况

例:

 

 

# 90分为优秀  80分良好  70分的中等  60分及格  60分以下的重修
score = 80
if score >= 90:    # 错误的 elif score >= 80 and score < 90:
    print('优秀')
elif score >= 80:  # elif 80<=score<90:  #
    print('良好')
elif score >= 70:
    print('中等')
elif score >= 60:
    print('及格')
else:
    print('重修')

 

 

 

4.if嵌套

if里面套用if语句

例:

score = 80
if score >= 90:
    print('优秀')
    if score >= 95
        print('哇!太厉害了吧')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('中等')
elif score >= 60:
    print('及格')
else:
    print('重修')

 

3.循环结构

在满足某个条件之内,重复执行某一个模块

语法结构:

    while 条件:

               条件成立之后执行的循环体

例:

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就是跳出当前循环

例:

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('登录失败')

 

 

今日作业

猜年龄的游戏
如果年龄猜正确了,直接结束,打印一下猜正确了
如果猜错了,给它三次机会,如果,三次机会全部猜错,程序不要结束,询问用户是否继续猜(yes/no)? 如果用户输入的是yes,在给三次机会,否则直接退出

结果:差点忘记了break

 1 age = 18
 2 t = 'yes'
 3 while t == 'yes':
 4     age1 = int(input('猜一下年龄:'))
 5     x = 0
 6     while x < 2:
 7         if age1 != 18:
 8             age1 = int(input('猜错了呢,重新猜一下吧:'))
 9             x += 1
10         else:
11             break
12     if age1 != 18:
13         t = input('又猜错了呢!还要继续猜吗?输入yes or no:')
14     else:
15         print('恭喜你!猜对了呢!')
16         break
17 print('游戏结束了!')

 

 答案(都可以):

 1 real_age = 20
 2 count = 0
 3 while True:
 4     # 我们在这里判断count 的值是否为3
 5     if count == 3:
 6         # 询问它是否还基础猜
 7         choice = input('你已经输错三次了,是否还继续玩(yes/no)?')
 8         # 判断
 9         if choice == 'yes':
10             count = 0
11         else:
12             print('玩的开心')
13             break
14     # 2. 让用户输入猜的年龄
15     guess_age = input('请输入你猜的年龄:') # str,不能直接进行做比较,要把字符串的类型转为整型 int
16     guess_age = int(guess_age)
17     # 3. 开始比较
18     if guess_age > real_age:
19         print('猜大了')
20         count += 1
21     elif guess_age < real_age:
22         print('猜小了')
23         count += 1
24     else:
25         print('猜对了,宝宝')
26         break

 

ps题外话:老师讲太好代码就直接复制好了,摆烂了

 

posted on 2023-05-17 20:06  菜CAIx  阅读(21)  评论(0编辑  收藏  举报