做者:billy
版权声明:著做权归做者全部,商业转载请联系做者得到受权,非商业转载请注明出处web
程序设计中有 3 种基础的结构,分别是顺序结构、选择结构和循环结构,以下图所示:
本章节以前编写的多数例子都是顺序结构的,这一张主要介绍一下选择结构和循环结构。svg
if 表达式: 语句块
其中,表达式能够是一个单纯的布尔值或者变量,也能够是比较表达式或逻辑表达式,若是表达式为真,则执行 “语句块”,若是表达式为假,就跳过 “语句块”,继续执行后面的代码。函数
示例1:学习
number = 5 if number == 5: print( "number 的值是5" )
注意:if 语句后面的冒号 ‘:’ 很容易被遗忘设计
示例2:code
if bmi < 18.5: print( "您的 BMI 指数为:" + str(bmi) ) print( "您的体重太轻了。。。" )
注意:第二个 print() 没有使用缩进,不管 bmi 的值是否小于 18.5 都会执行,若是第二个 print() 也使用了缩进,那么只有条件成立时才会执行xml
if 表达式: 语句块1 else: 语句块2
程序中使用 if…else 语句时,若是出现 if 语句多余 else 语句的状况,那么该 else 语句将会根据缩进肯定该 else 语句是属于哪一个 if 语句的。对象
示例:blog
a = 0 if a >= 0: if a > 0: print( "a 大于零" ) else: print( "a 小于零" )
if 表达式1: 语句块1 elif 表达式2: 语句块2 elif 表达式3: 语句块3 ... else: 语句块n
示例:图片
age = int( input( "请输入您的年龄:" ) ) if age <= 18: print( "您的年龄还小,要努力学习哦!" ) elif 18 < age <= 30: print( "您如今的阶段正是努力奋斗的黄金阶段!" ) elif 30 < age <= 50: print( "您如今的阶段正是人生的黄金阶段!" ) else: print( "最美不过夕阳红!" )
示例:
# 判断输入年份是否是闰年 # 判断方法:四年一润,百年不闰,四百年再润 year = int( input( "请输入年份:" ) ) if year % 4 == 0: if year % 100 == 0: if year % 400 == 0: print( year, "年是闰年" ) else: print( year, "年不是闰年" ) else: print( year, "年是闰年" ) else: print( year, "年不是闰年" )
在 Python 中,循环主要有两种,一种是重复必定次数的循环,称为计数循环,如 for 循环;另外一种是一直重复,直到条件不知足时才结束的循环,称为条件循环,如 while 循环。
注意:在其它语言中,条件循环还包括 do…while 循环,可是在 Python 中是没有 do…while 循环的
while 条件表达式: 循环体 # 一组被重复执行的语句
示例:
print( "今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问何几 ?\n" ) none = True # 做为循环条件的变量 number = 0 # 计数的变量 while none: number += 1 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2: print( "答曰:这个数是", number ) none = False
上述例子运行结果为 23
在使用 while 循环语句时,必定不要忘记添加将循环条件变为 False 的代码,不然将出现死循环。
for 迭代变量 in 对象: 循环体
其中,迭代变量用于保存读取出的值,而对象为要遍历或迭代的对象,该对象能够是任何有序的序列对象,如字符串、列表和元组等。
示例1:
print( "计算 1+2+3+...+100 的结果为:" ) result = 0 # 保存累加结果的变量 for i in range(101): result += i # 实现累加功能 print(result) # 在循环结束时输出结果
补充内容:上面代码中使用了 range() 函数,该函数为 Python 内置的函数,用于生成一系列连续的整数,多用于 for 循环语句中,其语法格式以下:
range(start, end, step)
start:用于指定计数的起始值,能够省略。若是省略,则从 0 开始。
end:用于指定计数的结束值(但不包括该值),不能省略。当 range() 函数只有一个参数时,即表示指定计数的结束值。
step:用于指定步长,即两数之间的间隔,能够省略。若是省略,则表示步长为 1。
注意:在使用 range() 函数时,若是只有一个参数,那么表示指定的是 end;若是只有两个参数,则表示指定的是 start 和 end;只有三个参数都存在时,最后一个才表示步长。
示例2:
for i in range(1, 10, 2): print( i, end = ' ' )
上述例子运行结果为 1 3 5 7 9
若是想让 print() 语句输出的内容在一行上显示,使用 print() 函数时,不能直接加逗号,须要加上 ", end = ‘分隔符’ "
示例:
for i in range(1, 10, 1): # 输出 9 行 for j in range(1, i + 1): # 输出与行数相等的列 print( str(j) + " X " + str(i) + " = " + str(i * j) + "\t", end = "" ) print(") # 换行
上述例子输出 1-9 乘法口诀表
break 语句通常会结合 if 语句进行搭配使用,表示在某种条件下跳出循环。若是使用嵌套循环,break 循环将跳出最内层的循环。
示例:
print( "今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问何几 ?\n" ) for number in range(100): if number % 3 == 2 and number % 5 == 3 and number % 7 == 2: # 判断是否符合条件 print( "答曰:这个数是", number ) # 输出符合条件的数 break # 跳出循环
continue 语句通常会结合 if 语句进行搭配使用,表示在某种条件下,跳出当前循环的剩余语句,而后继续进行下一轮循环。若是使用嵌套循环,continue 语句将只跳过最内层的循环中的剩余语句。
示例:
total = 0 # 用于保存累加和的变量变量 for number in range(1, 100): if number % 2 == 1: # 判断是否符合条件 continue # 继续下一次循环 total += number # 累加偶数的和 print( "1 到 100 之间(不包括 100)的偶数和为:", total ) # 输出累加的和
示例:
for i in range(1, 10): if i % 2 == 0: # 判断是否为偶数 print( i, end = ' ' ) else: # 不是偶数 pass # 占位符,不做任何操做