• while 循环 及 and or not


    一  while 循环

    语法:

    while 条件:

      结果

      如果条件为真,则直接执行结果,然后再次判断条件,直到条件是假,停止循环

    结束循环:

    1.改变条件

    2.break

    二 流程控制 break 和 continue

    1.break:立刻跳出循环,打断的意思

    2.continue :停止本次循环,继续执行下一次循环

    三  逻辑运算

    1.and  两端都为真 才是真     和 or  相反

    2.or  一端为真 则为真          非0 即它

    3. not  非   非真即假,非假即真

    运算顺序:

    ()  > not  >  and > or

    1.判断下面逻辑语句的 True  False

    print(1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    
    # 输出是 True
    print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 )
    
    # 输出是 False

    2.求出下面逻辑语句的值

    print(8 or 3 and 4 or 2 and 0 or 9 and 7)
    
    #输出结果是  8
    
    print(0 or 2 and 3 and 4 or 6 and 0 or 3)
    
    #输出结果是  4

    3.下列结果是什么

    print(6 or 2 > 1)
    
    # 输出结果是 6
    print(3 or 2 > 1)
    
    # 输出结果是 3
    print(0 or 5 < 4)
    
    # 输出结果是 False
    print(5 < 4 or 3)
    
    # 输出结果是 3
    print(2 > 1 or 6)
    
    # 输出结果是 True
    print(3 and 2 > 1)
    
    # 输出结果是 True
    print(0 and 3 > 1)
    
    # 输出结果是 0
    print(2 > 1 and 3)
    
    # 输出结果是 3
    print(3 > 1 and 0)
    
    # 输出结果是 0
    print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2)
    
    # 输出结果是2

    4、while循环语句基本结构?

    while 条件:

      循环体

    else: 循环正常结束后会执行这里

    5、利用while语句写出猜大小的游戏:
    设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测
    的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果
    正确,然后退出循环。

    s = 66
    while True:
        num = int(input("输入一个你猜的数字:"))
        if num > s:
            print("大了")
        elif num < s:
            print("小了")
        else:
            print("恭喜你猜对了")
            break

    6、在5题的基础上进行升级:
    给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循
    环,如果三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。

    count = 1
    while count <= 3:
        num = int(input("输入一个你猜的数字吧:"))
        if num > 66:
            print("大了,大了,再小点")
        elif num < 66:
            print("小了,小了,再大点")
        count += 1
    else:
        print("这个都猜不出来,太笨了吧....")

    7.使用while循环输入 1 2 3 4 5 6 8 9 10

    ###  写法 1 
    count = 1 while count <= 10: if count == 7: count += 1 print(count) else: print(count) count += 1
    ## 写法 2 count = 1 while count < 11: if count == 7: count += 1 continue else: print(count) count += 1

    ## 写法 3 count = 1 while count <= 10: if count != 7: print(count) count += 1

    8.求1-100的所有数的和

    sum = 0
    count = 1
    while count <= 100:
        sum += count
        count += 1
    print(sum)

    9.输出 1-100 内的所有奇数

    ## 第一种写法
    
    count = 1
    while count <= 100:
        if count % 2 == 1:
            print(count)
        count += 1
    
    # 第二种写法
    
    count = 1
    while count <= 100:
        print(count)
        count += 2

     10.输出 1-100 内的所有偶数

    # 写法 1 
    count = 2
    while count <= 100:
        print(count)
        count += 2
    
    ## 写法 2
    count = 1
    while count <= 100:
        if count % 2 == 0:
            print(count)
        count += 1

     11.求1-2+3-4+5 ... 99的所有数的和.

    # 写法 1
    sum = 0
    count = 1
    while count < 100:
        if count % 2 == 1:
            sum += count
            count += 1
        else:
            sum -= count
            count += 1
    print(sum)
    
    ## 写法 2
    sum = 0
    count = 1
    while count < 100:
        if count % 2 == 1:
            sum += count
        else:
            sum -= count
        count += 1
    print(sum)

     ###  看上面代码 注意看,差别在什么地方,为什么会出现这样的 结果???

     12.用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式)

    count = 1
    while count <= 3:
        username = input("输入你的账号:")
        password = input("输入你的密码:")
        if username == "alex" and password == "123456":
            print("登陆成功")
        else:
            print("登录失败,你还有%s次机会" % (3 - count))
            print(f"登录失败,你还有{3 - count}次机会")
        count += 1

    13. 用户输入一个数. 判断这个数是否是个质数(升级题).

    num = int(input("输入你要判断的数字:"))
    if num == 1:
        print("这个我也不知道了")
    else:
        count = 2
        while count < num - 1:
            if num % count == 0:
                print("这个不是质数")
                break
            count += 1
        else:
            print("恭喜你,找到了一个质数")


    ####   循环 判断,  主动 退出
    while 1:
    num = int(input("输入你要判断的数字,输入0退出:"))
    if num == 0:
    print("退出中...")
    break
    elif num == 1:
    print("我也不知道这个是不是,因为质数定义在大于1的基础上的")
    else:
    count = 2
    while count <= num - 1:
    if num % count == 0:
    print("不是质数")
    break
    count += 1
    else:
    print("恭喜你找到了一个质数,再见了,朋友")
    break

    14. 输入一个广告标语. 判断这个广告是否合法. 根据最新的广告法来判断. 广
    告法内容过多. 我们就判断是否包含'最', '第一', '稀缺', '国家级'等字样. 如果包
    含. 提示, 广告不合法
               例如, 1. 老男孩python世界第一. ==> 不合法
                      2. 今年过年不收礼啊. 收礼只收脑白金. ==> 合法

    while True:
        content = input("输入你的广告语,输入Q退出:")
        if content.upper() == "Q":
            print("退出啦,再见...")
            break
    
        elif "" in content or "第一" in content or "稀缺" in content or "国家级" in content:
            print("不合法,请重新输入")
            continue
        else:
            print("广告合法")
            break

     14. 输入一个数. 判断这个数是几位数(用算法实现)(升级题)

    num = int(input("输入一个你要判断的数字:"))
    count = 0
    while num >= 1:
        num //= 10
        count += 1
    print(count)
  • 相关阅读:
    Servlet访问第一次500,刷新后404的解决办法
    关于eclipse保存代码很慢,提示the user operation is waiting的问题
    编译时,运行时解释
    JDK、JRE、JVM
    IDEA使用maven中tomcat插件启动项目乱码问题
    treeGrid树形数据表格的json数据格式说明
    Maven最佳实践:Maven仓库(转)
    intelliJ idea debug模式下启动慢的原因
    基于 Annotation 拦截的 Spring AOP 权限验证方法
    化繁为简 如何向老婆解释MapReduce?(转载)
  • 原文地址:https://www.cnblogs.com/wenqi2121/p/10192298.html
Copyright © 2020-2023  润新知