逻辑运算的补充及循环结构

逻辑运算的补充

  • and
    当链接的条件不是一个具体的值时,输出的结果自动变更为布尔值
    and 连接的条件有多个时,不论后面的结果是数据值还是True ,最终结果取决去最后面的数据值

  • or
    当时使用or链接多个条件时,输出结果是最先满足条件的数据

  • not
    not的结果必为布尔值(True , False)

循环结构

  • while 循环
    while 条件:
    条件成立之后循环执行的子代码
    1.先判断while后面的条件是否成立 如果成立则执行子代码
    2.子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
    3.如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
    4.依次往复 直到条件不成立才会结束
while True:
    name = input('name>>>:')
    paw = input('pwd>>>')
    if name == 'back' and paw == '123':
        print('登录成功')
        else:
            print('用户名或密码错误')

  • while + break
    结束循环体的方式:
    1. 自己写结束条件,利用while后面的条件判断。
      2.在循环体代码中添加关键词break来强制结束。
while True:
    name = input('name>>>:')
    paw = input('paw>>>:')
    if name == 'back' and paw == '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 + else
count = 1
while count < 11:
    print(count)
    if count == 7:
        break
    count += 1
else:
    print ('循环体按照提前定义好的条件正常结束 则会执行')
  • 死循环
count = 2
while True:
    count *= 2      # 计算死循环 不允许出现 有问题

while True:
    name = input('name>>>:')  # 有等待时间 允许出现 没有问题
  • 全局标志位
flag = True
while flag:
    print(11)
    while flag:
        print(22)
        while flag:
            print(33)
            flag = False

今日作业

  • 1.准确说出下列判断的结果(不要执行代码)
    v1 = 1 or 3
    v2 = 1 and 3
    v3 = 0 and 2 and 1
    v4 = 0 and 2 or 1
    v5 = 0 and 2 or 1 or 4
    v6 = 0 or False and 1
v1: 1
v2: 3
v3: 0
v4: 0
v5: 0
v6: False

*2.编写一个用户登录程序
用户如果登录失败 则只能尝试三次
用户如果登录成功 则直接结束程序

count = 1
while count < 4:
    name = input('name>>>:')
    paw = input('paw>>>:')
    if name == 'java' and paw == '123':
        print('登录成功')
        break
    else:
        print('用户名或密码错误')
        count += 1

image

image

  • 3.编写一个用户登录程序
    用户如果登录失败 可以无限制尝试
    用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
    eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
    给用户提供一个退出命令 用户一旦输入则退出这个程序
    eg: 用户输入q指令 则程序先打印该指令再结束
flag = True
while flag:
    name = input('name>>>:')
    paw = input('paw>>>:')
    if name == 'back' and paw == '123':
        print('登陆成功')
        while flag:
            indicator = input('indicator>>>:')
            if indicator == 'cmd':
                print('正在执行你的指令cmd')
            elif indicator == 'q':
                print('退出该程序')
                flag = False
    else:
        print('用户名密码错误')

image

image

  • 4.编写猜年龄的游戏(拔高练习 尝试编写)
    用户有三次猜测的机会 如果用完则提示用户是否继续尝试
    用户输入y则继续给三次机会 如果用户输入q则直接结束程序
count = 1
while count < 4:
    age = input('age>>>:')
    if age == '54':

        print('恭喜你猜对了')
        break
    else:
        print('猜错了')
        count += 1

    if count == 4:
        flag = True
        while flag:
            indicator = input('indicator>>:')
            if indicator == 'q':
                print('游戏结束')
                flag = False
            elif indicator == 'y':
                print('赠送三次机会')
                count = 1
                break
        continue

image
流程图
image

posted @   Nirvana*  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示