while 循环 及 and or not 练习
Posted wenqi2121
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于while 循环 及 and or not 练习的主要内容,如果未能解决你的问题,请参考以下文章