if判断类型和while循环类型

一. 成员运算

in 和not in

in(在...里面)

not in(不在...里面)

比如说判断某个个体在不在群体内。
print('a' in 'hello world aaa')
字符串个体参与成员运算的时候
通过print输出得到true
print('hello' in 'hello world aaa')
字符串组合参与成员运算的时候
通过print输出得到true
print('jason' in ['jason','egon','kevin'])
列表参与成员运算的时候
通过print输出得到true
print('jason' in {'name':'jason','pwd':123})
print('name' in {'name':'jason','pwd':123})
通过print输出得到false,true
字典参与成员运算的时候只有key参与,而value无法参与。

二. 身份运算

l1 = [1,2,3,4]

l2 = [111,2,2,33,44]

print(id(l1)

print(id(l2)

id 相等 值一定相等

值相等 id 不一定相等

流程控制

1.顺寻结构

程序的代码运行都是遵循自上而下,依次运行的。

2.分支结构

分支结构的关键条件就是if判断

3.循环结构

循环结构的关键就是while循环和for循环,只要能用for循环都可以用while循环来运行。但是for循环比while循环更简单,更快捷

4.if判断的类型

4.1   if+else结构

如果女人的年龄小于30岁,我们就叫她小姐姐,否则就叫他阿姨。

age_girl = 28

if age_girl < 30:  # 首先这里的冒号是if判断中必须要有的,他代表的是if和if下面的子代码属于从属关系。

    print('小姐姐‘)  # 这里的几个空格是因为上面的If条件,我们一般是用4个空格来表示if和本行代码属于从属关系,属于if条件成                                     立的子代码。

else:                        # else表示否则,也就是和他同属列不成立的情况下才运行的代码,他此时跟if的关系是互不影响地位一致

    print('阿姨‘)

4.2   if+elif+else结构

如果女孩子年龄小于30我们叫他小姐姐,小于40我们叫他女士,小于50我们叫他阿姨,否则叫你好

age_girl = 28

if age_girl < 30:  # 如果条件成立就输出小姐姐,则下面的代码都不运行。

    print('小姐姐‘)

elif age_girl < 40:  # 如果这个条件成立则输出女士,下面的代码都不运行。

    print('女士‘)

elif age_girl < 50:  # 如果这个条件成立则输出阿姨,下面的代码都不运行。

    print('阿姨‘)

else:

    print('你好‘)

由此我们可以知道在if判断中,只要if条件成立,就不会在运行elif或者else,也就是说if判断中只能运行一个条件成立的代码。

4.3   if的嵌套

如果女孩子年龄小于30而且很漂亮那么就去表白,表白成功的话那么就在一起,否则.....

age_girl = 22

is_pretty = true

success = false

if age_girl < 30 and is_pretty = true:

    print('表白‘)

    if success:

        print('在一起‘)

    else:

        print('...')

以上就是if的嵌套,其实很容易,我们唯一需要记住的就是他们的缩进格式,以及先定义后引用。

5.  while循环的类型

5.1    while循环

打印0到10的数字

count = 0  # 首先我们定义一下数字为0

while True:  # while循环条件的结构是   while + 条件 + :记清楚冒号,千万别忘记。

    if count < 11:

        print(count)

    count += 1

    else               #这里为什么不加else?  这是因为while循环成立的条件为真,一旦为假就会自动结束循环,所以不用强加else。

5.2   while循环中用到的continue它的作用

打印0到10的数字,不包括7

count = 0 

while True:  # 这里既然用到True说明真就是条件成立,条件成立就是真即运行下面你子代码,条件不成立即运行和他同列的另一端代码。

    if count < 10:

        count += 1

        if count == 7:

            continue  # 这里的continue作用是结束本次循环,继续下一次循环。

        else:

             print(count)

还有一种是把while True:换成while count:

count = -1

while count < 10:  # 这里是当条件成立时,也就是count < 10 成立。

    count += 1

    if count == 7:

        continue

    else:

        print(count)

5.3 while循环中的break的应用。

用户登录账号密码

input('username>>>:')

input('password>>>:')

if username ='jason' and password = '123':

    print('登录成功‘)

else:

    print('登录失败‘)

这是用户只能登录一次的if判断。那么我们如何让他能尝试很多次输入账号密码呢?

while True:

    username = input('username>>>:')  # 这里的为什么不可以是input('username>>>:')呢?

    password = input('password>>>:')  # 同样这里为什么不可以是input('password>>>:')呢?

    if username == 'jason' and password == '123':  # 这里的‘123’为什么不是123呢?这是因为用户输入的都是字符串类型,而123是整型。

        print('登录成功‘)

    else:

        print('登录失败‘)

虽然用户可以的尝试很多次登录但是我们发现即使用户输入正确也还要接着输入账号密码也就是还要循环,我们怎么解决这种问题呢?这里就应用到了break的是用。

while True:

    username = input('usrename>>>:')

    password = input('password>>>:')

    if username == 'jason' and password == '123':

        print('登录成功‘)

        break                  #  在这里加个break就可以终止本层的循环。

    else:

        print(’登录失败‘)

5.4 while循环的嵌套

还是账号的登录例子

while True:

    res = input('start>>>:')

    while True:

        username = input('username>>>:')

        password = input('password>>>:')

        if username == 'jason' and password == '123'

            print('登录成功‘)

            break

        else:

            print('登录失败‘)

如果他上面还有一个循环该如何结束上一个循环呢?这里一般有2种方法。第一种是在加一个break,加在哪里要清楚,break是结束他本层的循环所以如果想结束上一个循环,首先brake不能和其中的一个循环形成从属关系。

另一种方法就是加一个‘全局标志位’

flag = True  # 这里是令flag = True

while flag:  # 这里是把True换成flag

    res = input('start>>>:')

    while flag:  #这里的True 换成flag

        username = input('username>>>:')

        password = input('password>>>:')

        if username == 'jason' and password == '123'

            print('登录成功‘)

            flag = false  # 这里吧break换成break = false 

        else:

            print('登录失败‘)

这种就是全局标志位

posted @ 2021-06-02 19:03  点滴180  阅读(245)  评论(0编辑  收藏  举报