Python入门-分支循环结构
编写代码的过程中,除了基本的变量,数据类型,在实际开发中,大量代码是根据判断条件,进而选择不同的的向前运行方式。
这些向前的运行方式基本分为两种:分支结构,循环结构
1.分支结构
if单分支结构
# if单分支结构,代码格式如下:
if <条件>:
<语句块> # 使用多个if判断,只要满足条件会一直执行下去
name = "tom"
age = 22
if age >18:
print("你已经长大了")
if name == "tom":
print("你是tom")
"""
你已经长大了
你是tom
""" # 使用if做多条件判断,尽量只做是否的判断,减少逻辑错误
age = 22
if age < 18:
print("你还是个孩子")
if age > 18:
print("你已经长大了")
"""
你已经长大了
"""
if-else双分支结构
#多分支可以实现更多判断, 对比if单分支判断,双分支逻辑更为清晰。只需要判断一个条件,根据这个条件来决定执行的语句块,成立执行语句块1,不成立执行语句块2。
# 代码格式如下
if <条件>:
<语句块1>
else:
<语句块2> age = 22
if age <18:
print("你还是未成年人")
else:
print("你已经长大了")
"""
你已经长大了
"""
if-elif-else多分支结构
# 多分支结构是,根据不同条件来选择语句块运行的一种分支结构 #代码格式如下:
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
......
else:
<语句块n> #多分支结构需要判断多个条件,根据判断当前条件是否成立,决定是否执行当前语句块
"""
1.当满足当前条件时,执行当前条件后结束代码
2.当前条件不满足时,进行下一条判断,如果下一条条件依然不满足,依次往下执行判断
3.当所有条件都不成立时,执行else的语句块。
""" # 成绩分数判断代码演示
num = 77
if num == 100:
print("恭喜你获得满分")
elif 80 <= num <100:
print("这是优秀成绩")
elif 60 <= num <80:
print("恭喜你及格了,继续努力")
else:
print("成绩没及格哦,要加油") # 简单的猜数字游戏
input_num = int(input("1-10得范围,请输入你猜的数字:"))
#第一:判断是否输入的是数字
if input_num.isdigit():
res_num = int(input_num) # 把输入的字符串转换为数字
#eval_num = eval(input("请输入数字:")) 此方法也可以转换为整型
# 第二:判断数字是否在输入范围内
if res_num <10:
#第三:当数字在范围内,进行逻辑判断
if res_num > 5:
print("数字大了")
elif res_num < 5:
print("数字小了")
else:
print("恭喜你,猜对了")
else:
print("你输入的数字太大了,只能1-10范围内")
else:
print("你输入的不是数字呀")
小提示: 当判断结构过于复杂时,可以先写简单的外层判断,外层写完了再继续内部判断
小提示: 在分支结构中,优先把可能遇到的判断情况,写在代码前面,可以节省性能。
2.循环结构
循环结构用于,在特定条件下,重复执行一些程序块。
从上面的分支结构,我们已经看到了如何用缩进来表示程序块的隶属关系,循环结构也会用到类似的写法。
while循环
# 代码演示:100以内数字求和
num = 1
sum_num = 0
while num <= 100:
sum_num += num # 累加求和
num += 1 # 修改循环结束条件
print(sum_num) # 注意:防止结束条件错误,导致死循环
while-else循环
num = 1
sum_num = 0
while num <= 100:
sum_num += num
num += 1
else:
print(sum_num)
print("代码结束了。")
# while循环的使用-斐波那契数列
a = 0
b = 1
while a < 1000: # 循环结束条件
print(a, end = ",")
a, b = b, a + b # 利用变量的赋值操作,进行累加
#结果:0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987
for循环
# for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。 #代码结构:
for 元素 in 序列:
statement # 代码演示
for i in [1,2,3]:
print(i)
"""
1
2
3
""" # 为了解决循环次数的问题,常使用range()函数,
range(开始,结束),结束位置取不到,只能取到【结束-1】的值。
for i in range(10):
print(i)
"""
0
1
2
3
4
5
6
7
8
9
""" # 100以内的数字相加求和
s = 0
for i in range(101): # 因为取不到101,只能取到100
s += i
print("计算结果为:",s)
# 计算结果为: 5050
3.循环控制语句
循环过程中,语句如果临时需要中断,跳过等操作,就需要循环控制语句
break停止循环
# 找到5,就停止循环, for循环演示
for i in range(10):
print(i, end = ",")
if i == 5:
break
"""
0,1,2,3,4,5,
""" # 找到5,就停止循环,while循环演示
a = 1
while a < 10:
print(a, end = "-")
if a == 5:
break
a += 1
"""
1-2-3-4-5-
"""
continue跳过本次循环
# 找到5,就跳过本次循环, for循环演示
for i in range(10):
if i == 5:
continue
print(i, end = ",") """
结果中没有5,其他都有:0,1,2,3,4,6,7,8,9,
"""
# 找到5,就跳过本次循环,while循环演示
a = 0
while a < 10:
a += 1
if a == 5:
continue
print(a, end ="-")
"""
结果中没有5,其他都有:1-2-3-4-6-7-8-9-10-
"""
pass占位
#对于代码块而言,pass相当于是一个占位符,为了让当前的代码正常执行,可以使用pass语句,为了保证程序结构的完整性 if True:
pass while True:
pass
4.嵌套循环
项目一:打印九九乘法表
# 找规律:乘法表规律为:列X行=结果,一共9行,行列相等。 for i in range(1, 10): # 定义九行
for j in range(1, i+1): # 定义列数
print("{}*{}={}".format(j, i, j*i), end=" ") #输出结果
print() # 每列结束后,换行
"""
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
""" # 输出三角形的代码演示
# 规律:随着行数的增加,空格减少,星号增加
line = 7
for i in range(0, line):
for x in range(line -i): # 空格减少
print("", end = " ")
for y in range(0, i + 1): # 星号增加
print("*", end = " ")
print()
"""
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
"""
项目二:模拟猜数字游戏
#嵌套循环演示:模拟猜数字的游戏
"""
计算机随机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出 大一点/小一点/猜中了 的提示
""" import random #获取随机数
num1 = random.choice(range(1,101)) #80 #定义一个变量,用于记录猜的次数
counter = 0 while True:
counter += 1
# 引导用户输入数字
num2 = int(input("请输入1~100之间的数字")) #50 if 1<= num2 <=100:
if num1 > num2:
print("大一点")
elif num1 < num2:
print("小一点")
else:
print("猜中了") #结束游戏【跳出循环】
break
else:
print("输入的范围有误,正确的范围应该为1~100") print("你总共猜了%d次" % (counter))
if counter > 7:
print("你的智商余额不足,请充值")
Python入门-分支循环结构的更多相关文章
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- 第五篇:python基础之循环结构以及列表
python基础之循环结构以及列表 python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...
- python的分支循环
知识内容: 1.if-else分支结构 2.while循环 3.for循环 4.循环结构综述 5.break和continue语句 一.if-else分支结构 1.单分支选择结构 if 表达式: 语句 ...
- python中的循环结构等相关知识
==分支结构== 1.单分支:一般用于只会发生一种情况的场景,if #90以上优秀 score=95 if score>90: print("优秀") 2.双分支:一般用于会 ...
- python学习_循环结构 and 类型判断
# 循环结构 ### 循环结构(while) - 格式 ```python while 表达式: 语句块 ``` > 执行流程:当程序执行到while语句时,首先判断表达式的真假.若表达式的值为 ...
- Java分支循环结构
一.Java分支结构 1.if语句:一个 if 语句包含一个布尔表达式和一条或多条语句. if 语句的用语法如下: if(布尔表达式){ 如果布尔表达式为true将执行的语句 } public c ...
- 05 . Python入门值循环语句
一.Python循环语句 程序一般情况下是按照顺序执行的 编程语言提供了各种控制结构,允许更复杂的执行路径 Python中的循环语句有for和while但没有do while 循环语句允许我们执行一个 ...
- python入门10 循环语句
两种循环: 1 for in 2 while #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 循环语句 ...
- python入门-WHILE循环
1 使用while循环 current_number= : print(current_number) current_number += 2 让用户选择退出 prompt = "tell ...
随机推荐
- MRS IoTDB时序数据库的总体架构设计与实现
MRS IoTDB时序数据库的总体架构设计与实现 MRS IoTDB是华为FusionInsight MRS大数据套件最新推出的时序数据库产品,其领先的设计理念在时序数据库领域展现出越来越强大的竞争力 ...
- 最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
安装 WSL 1. 开启WSL 必须启用"适用于 Linux 的 Windows 子系统"可选功能并重启,然后才能在 Windows 上运行 Linux 发行版. 以管理员运行Po ...
- jdbc.properties/(驱动、URL、用户名、密码)跟换数据库时改该配置文件/Untitled Text File格式
背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个月的,就主动升级为一年的,49还是59忘了.对于配置这种EDS过程中,产生的一个念 ...
- python+pytest接口自动化(10)-session会话保持
在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢? 上一篇文章我们介绍了Cookie绕过登录,其实这就是保持登录状态的方法之一. 另外一种方式则是通过 ...
- uoj86 mx的组合数 (lucas定理+数位dp+原根与指标+NTT)
uoj86 mx的组合数 (lucas定理+数位dp+原根与指标+NTT) uoj 题目描述自己看去吧( 题解时间 首先看到 $ p $ 这么小还是质数,第一时间想到 $ lucas $ 定理. 注意 ...
- CF1485X Codeforces Round #701
D Multiples and Power Differences (构造) 题目大意:给一个n*m的矩阵a,a[i][j]在1到16之间.现在要构造矩阵b,需要满足如下条件: 1.b[i][j]在1 ...
- JQuery Validate验证插件自定义验证消息
// 自定义验证的方法,验证通过返回true,否则返回false(会显示错误消息) jQuery.validator.addMethod; // 定义验证的消息 jQuery.validator.fo ...
- 数组有没有length()方法?String有没有length()方法?
数组没有length()方法,有length 的属性.String 有length()方法.JavaScript中,获得字符串的长度是通过length属性得到的,这一点容易和Java混淆.
- 为什么线程通信的方法 wait(), notify()和 notifyAll()被定 义在 Object 类里?
Java 的每个对象中都有一个锁(monitor,也可以成为监视器) 并且 wait(),notify() 等方法用于等待对象的锁或者通知其他线程对象的监视器可用.在 Java 的线程中 并没有可供任 ...
- 对于 GC 方面,在使用 Elasticsearch 时要注意什么?
1.SEE:https://elasticsearch.cn/article/32 2.倒排词典的索引需要常驻内存,无法 GC,需要监控 data node 上 segmentmemory 增长趋势. ...