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 == "":
- 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)
while 循环 及 and or not的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 【JS基础】循环
for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
- Linux进程管理及while循环
目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...
随机推荐
- SpringBoot之解决一对一、多对一、多对多等关联实体在JSON序列化/输出时产生的无限递归死循环问题(infinite recursion)
前言 这问题着实让人苦不堪言,有必要把它记下了. @JsonBackReference [亲测有效] 1.使用注解@JsonBackReference标记在有关联关系的实体属性上 2.仅导入此注解类有 ...
- What's binary search?
Binary Search: Search a sorted array by repeatedly dividing the search interval in half. Begin with ...
- PowerDesigner通过SQL语句生成PDM文件并将name和comment进行互相转换
本篇文章主要介绍了PowerDesigner通过SQL语句生成PDM文件并将name和comment进行互相转换 超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.软件准备 软 ...
- Leetcode之动态规划(DP)专题-121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock)
Leetcode之动态规划(DP)专题-121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock) 股票问题: 121. 买卖股票的最佳时机 122. 买卖股票的最 ...
- 【VS开发】VS2010中导入ActiveX控件
方法1: 1.首先在在项目上面右击添加类,如下图所示: 2.点击添加ActiveX控件中的MFC类 3.找到需要添加的ActiveX类. 4.点击完成即可. 5.此时转到资源视图,打开如下视图.可能工 ...
- Linux系列(4):入门之文件权限与目录配置
众所周知,Linux是多用户多任务的操作系统.那么如何解决自己文件不被其他用户访问呢?这就需要引入权限管理了. Linux根据文件的所属者分为3个类别:owner.group.others,且每个类别 ...
- Spring Cloud Feign接口返回流
身无彩凤双飞翼,心有灵犀一点通. 服务提供者 @GetMapping("/{id}") public void queryJobInfoLogDetail(@PathVariabl ...
- Mysql-Sqlalchemy-ORM-many_to_many
orm_m2m.py from sqlalchemy import Table,Column,Integer,String,DATE, ForeignKey from sqlalchemy.orm i ...
- C# 使用Emit实现动态AOP框架 进阶篇之异常处理
目 录 C# 使用Emit实现动态AOP框架 (一) C# 使用Emit实现动态AOP框架 (二) C# 使用Emit实现动态AOP框架 (三) C# 使用Emit实现动态AOP框架 进阶篇之异常处 ...
- MFC下调试 出现 Warning: initial dialog data is out of range.
在mfc Debug模式下出现"Warning: initial dialog data is out of range."提示..原因是出现在 DDV_MinMaxInt 对应的 ...