1.if 判断 和 while 循环 练习

1.提示户输入马化腾. 判断用户输入的对不对. 如果对, 提示真聪明, 如果不对, 提醒该充值了

name = input("谁是中国人民当中最能抄的?")
if name == "马化腾":print("真聪明")
else:print("不充值你怎么能变强")

2.根据身高(height)找对象
男生在1米 ~ 1.5米之间 =>打印小强 你在哪里?
男生在1.5 ~ 1.7米之间 =>打印没有安全感~
男生 1.7 ~ 1.8米之间 =>打印帅哥 留个电话
男生 1.8 ~ 2米之间 =>打印帅哥 你建议多一个女朋友吗

height = float(input("请输入您的身高:"))
print(height,type(height))# python 特有if 1 <= height <= 1.5:print("小强在哪里")
elif 1.5 < height <= 1.7:print("没有安全感")
elif 1.7 < height <= 1.8:print("帅哥,留个电话")
elif 1.8 < height <= 2:print("帅哥,你介意多一个女朋友吗?")# 通用写法if 1 <= height and height <= 1.5:print("小强在哪里")
elif 1.5 < height and height <= 1.7:print("没有安全感")
elif 1.7 < height and height <= 1.8:print("帅哥,留个电话")
elif 1.8 <height and height <= 2:print("帅哥,你介意多一个女朋友吗")
else:print("没有合适的选项")

3.猜大小的游戏:
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。

sign = True
while sign:num = float(input("请输入一个数字:"))if num == 66:print("猜对了")sign = Falseelif num > 66:print("猜大了")elif num < 66:print("猜小了")

4.输出1-100内所有奇数

i = 1
while i <= 100:if i % 2 == 1:print(i)i+=1

5.输出1-100内所有偶数

i = 1
while i <= 100:if i % 2 == 0:print(i)i+=1

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

times = 1
sign = True
while sign:pwd = input("请输入您的密码")if pwd == "1111":print("登陆成功")sign = Falseelse:res = 3 - timesprint("输错了,您还剩余%d次机会" % (res))if res == 0:sign = Falsetimes+=1

2. 双向循环练习

1. while 循环

1.打印十行十列小星星

j = 0
while j < 10:i = 0while i < 10:print("*",end="")i+=1print()j+=1

2.打印十行十列小星星(隔列换色)

j = 0
while j < 10:i = 0while i < 10:if i % 2 == 0:print("★",end="")else:print("☆",end="")i+=1    print()j+=1

3.打印十行十列小星星(隔行换色)

j = 0
while j < 10:i = 0while i < 10:if j % 2 == 0:print("★",end="")else:print("☆",end="")i+=1    print()j+=1

4.99乘法表

方式一

i = 1
while i <= 9:j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j),end="")j+=1print()i+=1

方式二

i = 9
while i >= 1:j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j),end="")j+=1print()i-=1

方式三

i = 1
while i <= 9:k = 9 -iwhile k > 0:print("       ",end="")k-=1j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j),end="")j+=1print()i+=1

方式四

i = 9
while i >= 1:k = 9 - i while k > 0:print("       ",end="")k-=1j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j),end="")j+=1print()i-=1

5.求吉利数字 100~999 666 888 111 222 333 … 123 456 987 654

个位: 987 % 10 = 7

十位: 987 // 10 % 10 = 8

百位: 987 // 100 = 9

方法一

i = 100
while i < 1000:gewei = i % 10shiwei = i // 10 % 10baiwei = i // 100# 111if gewei == shiwei and shiwei == baiwei:print(i)# 123elif shiwei == gewei - 1 and shiwei == baiwei + 1:print(i)# 321elif shiwei == gewei + 1 and shiwei == baiwei - 1:print(i)i+=1

方法二

i = 100
while i < 1000:strvar = str(i)baiwei = int(strvar[0])shiwei = int(strvar[1])gewei = int(strvar[-1])# 111if gewei == shiwei and shiwei == baiwei:print(i)# 123elif shiwei == gewei - 1 and shiwei == baiwei + 1:print(i)# 321elif shiwei == gewei + 1 and shiwei == baiwei - 1:print(i)i+=1

6.百钱买百鸡

公鸡1块钱1只,母鸡3块钱1只,小鸡0.5块钱1只,问花100块钱买100只鸡,有多少种买法?

# 公鸡
x = 0
count = 0
while x <= 100:# 母鸡y = 0while y <= 33:# 小鸡z = 0while z <= 100:if x+y+z == 100 and x*1+y*3+z*0.5 == 100:print(x,y,z)count+=1z+=1y+=1x+=1
print(count)

2. for 循环

1.打印十行十列小星星

for i in range(10):for j in range(10):print("*",end="")print()

2.打印十行十列小星星(隔列换色)

for i in range(10):for j in range(10):if j % 2 == 0:print("★",end="")else:print("☆",end="")  print()

3.打印十行十列小星星(隔行换色)

for i in range(10):for j in range(10):if i % 2 == 0:print("★",end="")else:    print("☆",end="")print()

4.99乘法表

方式一

for i in range(1,10):for j in range(1,i+1):print("%d*%d=%2d " % (i,j,i*j),end="")print()

方式二

for i in range(9,0,-1):for j in range(1,i+1):print("%d*%d=%2d " % (i,j,i*j),end="")print()

方式三

for i in range(1,10):for k in range(9-i,0,-1):print("       ",end="")for j in range(1,i+1):print("%d*%d=%2d " % (i,j,i*j),end="")print()

方式四

for i in range(9,0,-1):for k in range(9-i,0,-1):print("       ",end="")for j in range(1,i+1):print("%d*%d=%2d " % (i,j,i*j),end="")print()

5.求吉利数字100 ~ 999 666 888 111 222 333 444 … 123 789 567 765 432

方法一

for i in range(100,1000):gewei = i % 10shiwei = i // 10 % 10baiwei = i // 100# 111if gewei == shiwei and shiwei == baiwei:print(i)# 123elif shiwei == gewei - 1 and shiwei == baiwei + 1:print(i)# 321   elif shiwei == gewei + 1 and shiwei == baiwei - 1:print(i)

方法二

for i in range(100,1000):strvar = str(i)baiwei = int(strvar[0])shiwei = int(strvar[1])gewei = int(strvar[-1])if gewei == shiwei and shiwei == baiwei:print(i)elif shiwei == gewei - 1 and shiwei == baiwei + 1:print(i)elif shiwei == gewei + 1 and shiwei == baiwei - 1:print(i)

6.百钱买百鸡

公鸡1块钱1只,母鸡3块钱1只,小鸡0.5块钱1只,问花100块钱买100只鸡,有多少种买法?

count = 0
for x in range(0,101):for y in range(0,34):for z in range(0,101):if x+y+z == 100 and x*1+y*3+z*0.5 == 100:print(x,y,z)count+=1
print(count)

3. 关键字的使用 pass break continue

1. pass 过(占位)

关键字 pass : 如果在代码块中有一段代码逻辑不知道怎么写,我们可以先写上关键字pass,继续写后面的代码,

​ 等到想出来这段代码逻辑,我们再把pass替换掉.

if 10 == 10:passwhile True:pass

2. break 终止当前循环

关键字 break : 注意点 => 终止的是当前循环

# 打印 1 ~ 10 , 遇到5就终止循环
i = 1
while i <= 10:if i == 5:breakprint(i)i+=1# break 终止的是当前循环
i = 1
while i <= 3:j = 1while j <= 3:if j == 2:breakprint(i,j)j+=1  i+=1

3. continue 跳过当前循环,从下一次循环开始

关键字 continue : 当执行 continue 时,后面的代码不执行,会跳到while循环的条件判断处

# 打印 1 ~ 10 , 跳过5
i = 1
while i <= 10:if i == 5:# 需手动自增加1 当执行 continue 时,后面的代码不执行,跳到while循环的条件判断处,会造成死循环i+=1continueprint(i)i+=1# 打印 1 ~ 100 , 所有不含4的数字
"""
// 可以取到一个数的高位
%  可以取到一个数的低位
46 // 10 = 4
46 %  10 = 6
"""# 方法一
i = 1
while i <= 100:if i // 10 == 4 or i % 10 == 4:i+=1continueprint(i)i+=1# 方法二
i = 1
while i <= 100:strvar = str(i)if "4" in strvar:i+=1continueprint(i)i+=1

4. for 循环

for 循环 : 遍历 循环 迭代

for : 主要用于遍历数据而提出的, while 在遍历数据的时候,有局限性

for 循环的代码结构 :

for 变量 in 可迭代的对象:

​ code1

​ code2

可迭代的对象 : 容器类型数据,range对象,迭代器

lst = ["熊大","张三","李四","王五"]
i = 0
while i < len(lst):print(lst[i])i+=1
# 遍历字符串
container = "今天是个好日子"
# 遍历列表
container = ["熊大","张三","李四","王五"]
# 遍历元组
container = (1,2,3,4,66)
# 遍历集合
container = {"小明","小花","小红","小兰","小鹿"}
# 遍历字典 (遍历字典时,只遍历键)
container = {"dgz":"刚强","dbt":"智慧","dpz":"嘴炮","huaer":"彪悍"}for i in container:print(i)# 遍历不等长的二级容器
container = [["小明","小东","小花","小路"],("小兰","小莲")]for i in container:for j in i:print(j)# 变量的解包
a,b = 1,2
a,b = [3,4]
a,b = {"a":5,"b":6}
print(a,b)# 遍历等长的二级容器
container = [("宋晓峰","宋小宝","宋大兵"),("马云","马化腾","马三炮"),["姜东九","李俊基","韩允儿"]]
for a,b,c in container:print(a,b,c)
# a,b,c = ("宋晓峰","宋小宝","宋大兵")
# a,b,c = ("马云","马化腾","马三炮")
# a,b,c = ["姜东九","李俊基","韩允儿"]

range对象 的结构:

range(开始值,结束值,步长)

结束值本身取不到,只能取到结束值之前的那个数

# 只有一个值
for i in range(10):print(i)       # 0 1 2 3 4 5 6 7 8 9# 只有两个值
for i in range(3,11):print(i)       # 3 4 5 6 7 8 9 10# 只有三个值
for i in range(1,11,3):print(i)       # 1 4 7 10# 倒叙打印 10 ~ 1
for i in range(10,0,-1):print(i)       # 10 9 8 7 6 5 4 3 2 1

总结 :

while : 较为复杂的逻辑

for : 数据的遍历

while 和 for 部分代码可以互相转换 (可以参考前两节"双向循环练习"中 while 循环和 for 循环的相互转换)

区别写法1

# 打印 1 ~ 10 跳过 5# while 循环
i = 1
while i <= 10:if i == 5:i+=1continueprint(i)i+=1# for 循环
for i in range(1,11):if i == 5:continueprint(i)

区别写法2

# 99乘法表# while 循环
i = 1
while i <= 9:j = 1while j <= i:print("%d*%d=%2d " % (i,j,i*j),end="")j+=1print()i+=1# for 循环
for i in range(1,10):for j in range(1,i+1):print("%d*%d=%2d " % (i,j,i*j),end="")print()

python-双向循环_关键字pass_break_continue_for循环相关推荐

  1. python中循环结构关键字,04.循环结构

    ## 循环结构 ### 应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然 ...

  2. python的循环控制_控制for循环(python)

    我有一个程序,其中包含另一个for循环中的for循环,它产生一行,我有一个if语句,检查行中的键. 这是一个例子 list1=[var1,var2,var3] list2 = [file1,file2 ...

  3. python制作课程表_怎么使用循环做出一个课程表?

    获取当前周.先比较 当前周 > 开始周 && 当前周 < 开始周 + 持续周.然后判断星期,同上.然后判断开始时刻. 先把这些东西在数组里做出来,因为数组内容是可以改的. ...

  4. 增强for循环_增强for循环实际用法

    今天写代码需要进行批量更改状态, 想了下如何实现, 用for循环是非常不错的,代码: //批量开启状态@RequestMapping("/batchOpen")public Res ...

  5. floyd算法 每一层循环_链接列表循环检测– Floyd的循环查找算法

    floyd算法 每一层循环 In this tutorial, we'll be discussing a very popular algorithm which is used to detect ...

  6. java游戏循环_利用Java循环语句实现攻击防御塔小游戏

    /* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...

  7. mysql 临时表循环_在游标循环中查询临时表可以,但是结束循环后就无法查询了。...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 DECLARE totalMoney INT DEFAULT 0; DECLARE userId BIGINT(20) UNSIGNED; DECLARE ...

  8. python bar函数循环_一木.溪桥学Python-08: for循环、function函数

    一木.溪桥 在Logic Education跟Amy学Python 逻辑教育 :https://logicedu.ke.qq.com 12期:Python基础课 一木.溪桥学Python-08: fo ...

  9. 的 while循环_十八、Python图解while循环

    人生苦短,要学Python Python中循环有while循环和for循环,接下来将介绍Python中的while循环和for循环. while循环 语法格式 # while语句用于循环执行程序,也就 ...

最新文章

  1. linux下typora安装
  2. 仿苹果手机闹钟_你会用苹果手机吗?这些快捷指令快速设置一下,好用度提升10倍...
  3. 阿里面试 Java 都问什么?万字总结!
  4. java的mvc实训报告_javaweb实验报告——MVC.docx
  5. 【渝粤题库】国家开放大学2021春2508学前儿童语言教育题目
  6. html css导航栏字体图标,HTML+CSS入门之两种图标字体库
  7. 1107班12月第5周 班级计划 为s1结业答辩做准备
  8. godaddy最新域名优惠码永久有效
  9. 数据库笔记09:Transact-SQL语言编程基础
  10. POJ 2425 A Chess Game(有向图SG函数)题解
  11. 基于R实现统计中的检验方法---卡方检验
  12. KindEditor上传图片
  13. i.MX6ULL驱动开发 | 10 - 修改LCD驱动点亮LCD显示小企鹅logo
  14. 使用Axis2实现WebService的发布和调用
  15. python魔方方法
  16. 『踩坑』pyechart绘图不出图的解决方案
  17. 领导讲话稿小标题大全,笔杆子收藏备用
  18. linux floppy 虚拟,Floppylinux
  19. speedoffice使用方法——Word如何设置段落背景颜色
  20. Josh‘s Notes: SystemVerilog 验证 (Part 1 — 验证导论)

热门文章

  1. oppo在哪root权限,oppo手机的root权限在哪开启
  2. 初识c语言—记录我的第一篇博客
  3. ANSYS学习3——加载求解
  4. Go get报错 fatal: could not read Username for ‘https://xxx‘: terminal prompts disabled【解决方案】
  5. 零基础准备美赛的全过程
  6. sas 导入csv文件_SAS导入导出时编码问题汇总
  7. 力软快速开发平台推荐功能之APP开发
  8. Python模糊基础点--文件操作
  9. Linux知识点整理(六)—— Linux的vi/vim编辑器常用命令
  10. Slimming剪枝方法