1、 顺序结构 选择结构 循环结构控制结构控制结构 请根据BMI公式(体重除以身高的平方)计算BMI指数,并根据BMI指数显示提示信息:l 低于18.5:过轻l 18.5-25:正常l 25-28:过重l 28-32:肥胖l 高于32:严重肥胖 如果小明身高1.75,体重80.5kg,那么他的BMI是多少呢?实例计算BMIif condition_1:statement_block_1 elif condition_2:statement_block_2 else:statement_block_3 注意:l 每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块。l 使用缩进来划分语句块
2、,相同缩进数的语句在一起组成一个语句块。选择结构if语句的一般形式,需要用到布尔表达式 标准值False和True,数字0和所有空序列都为False,其余的单个对象都为True。在表达式运算的过程中,True会视为数值1,False会视为数值0,这与其他编程语言是相似的。逻辑表达式是布尔表达式的一种,逻辑表达式指的带逻辑操作符或比较操作符(如,=)的表达式。if语句的基本结构布尔表达式if condition:statement_block 如果 condition 为 True 将执行 statement_block 块语句if语句的基本结构单分支if condition:statement
3、_block _1else:statement_block_2 如果“condition”为 True 将执行“statement_block_1”块语句,否则执行“statement_block_2”块语句if语句的基本结构双分支if condition_1:statement_block_1 elif condition_2:statement_block_2 else:statement_block_3 如果 condition_1 为 True 将执行 statement_block_1 块语句 如果 condition_1 为False,将判断 condition_2 如果condi
4、tion_2 为 True 将执行 statement_block_2 块语句 如果 condition_2 为False,将执行statement_block_3块语句if语句的基本结构多分支if 表达式1:语句 if 表达式2:语句 else:语句elif 表达式4:语句else:语句if语句的基本结构嵌套 if:可以把 if.elif.else 结构放在另外一个 if.elif.else 结构中 使用循环在一定情况下可以使你的代码运行效率更高。常用循环:l for循环l while循环循环结构如果要让程序重复地做一件事情,就只能重复地写相同的代码 for循环在Python中是一个通用的序
5、列迭代器,可以遍历任何有序的序列,如字符串、列表、元组等。Python中的for语句接受可迭代对象,如序列和迭代器作为其参数,每次循环调取其中一个元素。语法:for in:else:循环结构for循环 示例l for循环对字符串,列表的遍历for a in e,f,g:print(a)for a in string:print(a)循环结构for循环 range函数能够快速构造一个数字序列。例如range(5)或range(0,5)即为序列0,1,2,3,4。l 注意这里包括0,但不包括5。示例for i in range(5):print(i)l 用range指定区间的值for i in r
6、ange(5,9):print(i)l 使range以指定数字开始并指定不同的增量(甚至可以是负数,亦可称为步长):for i in range(0,10,3):print(i)range函数 计算1-100的整数之和sum=0for x in range(101):sum=sum+xprint(sum)for循环 语法格式:while 布尔表达式:程序段 示例l 打印出110n=1while n=10:print(n)n=n+1while循环while循环:在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。思考:计算1-100的整数之和计算100以内所有奇数之和var=1while
7、 var=1:#表达式永远为 true num=int(input(输入一个数字 :)print(你输入的数字是:,num)使用 CTRL+C 来退出当前的无限循环。无限循环在服务器上客户端的实时请求非常有用。无限循环count=0while count 0:var=var-1 if var=5:#变量为 5 时跳过输出 continue print(当前变量值:,var)注意:循环语句中的 else 子句,它在穷尽列表(以for循环)或条件变为 false(以while循环)导致循环终止时被执行,但循环被break终止时不执行。break和continuebreak 语句可以跳出 for 和
8、 while 的循环体 输出10-1,输出到5是停止输出var=10 while var 0:print(当期变量值为:,var)var=var-1 if var=5:breakbreak和continuecontinue语句是跳过当前循环块中的剩余语句,然后继续进行下一轮循环 打印1-10之间的奇数n=0while n 10:n=n+1 if n%2=0:#如果n是偶数,执行continue语句 continue#continue语句会直接继续下一轮循环,后续的print()语句不会执行 print(n)组合条件与循环在循环中放入条件语句,这样才可以使得循环可以做更多的事情。随机产生一个0-10之间的整数,根据用户输入的整数,判断是否猜中上机猜数字游戏