python基础_04

逻辑运算符知识补充

# and
print(1 == 2 and 3)  # False
"""
print(1 == 2)  # False
连接的条件 如果不是一个具体的值 则需要自动转换成布尔值
"""
print(10 > 3 and 100)  # 100
"""
由于and前面的运算得出的布尔值是True 所以and连接的条件最终的结果取决于后面的
    如果后面的值是明确的数据值 那么直接返回该数据值(数据值对应的布尔值必须是True)
"""
print(1 == 1 and 2 == 2)  # True
print(1 == 1 and False)  # False
print(True and 1 == 1)  # True
print(1 and 10)  # 10


# or
print(1 == 1 or 111)  # True
print(1 or 10 > 20)  # 1
print(10 or 100)  # 10

andor连接的多个条件在返回具体结果的时候可能是布尔值也可能是数据值
我们在日常写代码的时候不需要纠结具体返回的是什么 直接当成布尔值处理

# not
它的结果肯定是个布尔值

循环结构之while循环

while 条件:
    条件成立之后循环执行的子代码
1.先判断while后面的条件是否成立 如果成立则执行子代码
2.子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
3.如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
4.依次往复 直到条件不成立才会结束

# while True:
#     name = input('name>>>:')
#     pwd = input('pwd>>>:')
#     if name == 'jason' and pwd == '123':
#         print('登录成功')
#     else:
#         print('用户名或密码错误')

# 定义一个计数器
count = 1
while count < 10:
    print(123)
    count += 1
# print(count)
# count += 1
# count += 1
# count += 1
# print(count)

while+break

结束循环体的方式
	1.自己写结束条件 利用while后面的条件判断(规定12:30下班)
	2.在循环体代码中添加关键字强制结束(心情好 10:30就放假)
 
while True:
    name = input('name>>>:')
    pwd = input('pwd>>>:')
    if name == 'jason' and pwd == '123':
        print('登录成功')
        # 强制结束
        break  # 直接结束break所在的循环体 (结束本层循环)
    else:
        print('用户名或密码错误')
    
验证一个break只能结束它所在那一层的循环体代码
while True:
    print('我是外层的循环')
    while True:
        print('我是内层的循环')
        break
    break

while+continue

# 循环打印1到10(按规矩办事)  但是到了7就跳过
count = 1
while count < 11:
    if count == 7:
        # 让count自增1
        count += 1
        # 跳过本次循环 直接开始下一次循环
        continue
    print(count)
    count += 1
    
结束本次循环 直接开始下一次循环(也只影响所在的那一层循环而已)

while True:
    print(123)
    while True:
        print(321)
        continue
    continue

while+else

count = 1
while count < 11:
    print(count)
    if count == 7:
        break
    count += 1
else:
    print('循环体按照提前定义好的条件正常结束 则会执行')

死循环与全局标志位

1.死循环
count = 10
while True:
    count *= 10  # 计算死循环 不允许出现 有问题
  
while True:
    name = input('name>>>:')  # 有等待时间 允许出现 没有问题
    
2.全局标志位(可以不用)
flag = True
while flag:
    print(123)
    while flag:
        print(321)
        while flag:
            print(222)
            flag = False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值