熟练掌握分支控制语句、循环控制语句

了解迭代器、break语句和continue语句

能针对具体案例编写简单的控制程序,并合理设计程序的测试数据。能预判循环的执行次数。

Python的分支结构控制语句

有以下几种形式:

if语句
if/else语句
if/elif/else语句

1.if语句

从键盘输入圆的半径,如果半径大于等于0,则计算并输出圆的面积和周长。

#eg3_1.py
import math
r=int(input("请输入圆的半径:"))
if r>=0:d=2*math.pi*rs=math.pi*r**2print("圆的周长=",d,"圆的面积=" ,s)

2.if/else语句

if 判断真假
如果为真,执行语句一
如果为假,执行语句二

if  表达式:语句1
else:语句2

从键盘输入年份t,如果年份t能被400整除,或者能被4整除但不能被100整除,则输出“t年是闰年”,否则输出“t年不是闰年”,t用输入的年份代替。

#eg3_2.py
import math
t=int(input("请输入年份:"))
if t%400==0 or (t%4==0 and t%100!=0):print(t,'年是闰年')
else:print(t,'年不是闰年')

3.if/elif/else语句

if 表达式1 :语句体1
elif 表达式2 :语句体2……
elif 表达式n-1 :语句体n-1
else:语句体n

从键盘输入订货量。

根据订货量大小,价格(假设给定价格为10)给以不同的折扣,计算应付货款(应付货款=订货量×价格×(1-折扣))。

订货量300以下,没有折扣;

订货量300及以上,500以下,折扣为3%;

订货量500及以上,1000以下,折扣5%;

订货量1000及以上,2000以下,折扣8%;

订货量2000及以上,折扣10%。

#eg3_3.py
Price=10
Quantity=int(input("The Quantity of client's demand is: "))if Quantity<0:Coff=-1
elif Quantity<300:Coff=0.0
elif Quantity<500:Coff=0.03
elif Quantity<1000:Coff=0.05
elif Quantity<2000:Coff=0.08
else:Coff=0.1if Coff>=0:   Pays=Quantity*Price *(1-Coff) print("The client should pay:",Pays)
else:print( "There is an error in Quantity!")
输入-100
The Quantity of client's demand is: -100
There is an error in Quantity!
输入200
The Quantity of client's demand is: 200
The client should pay: 2000.0

选择结构嵌套

在某一个分支的语句体中,又嵌套新的分支结构,这种情况称为选择结构的嵌套。

if 表达式:if  表达式:语句else:语句2
else:

循环结构控制语句

Python语言中的循环结构包含两种语句:

while语句
for语句

1.while语句

while 表达式:循环体

对于while语句,它执行完语句体后,立刻又返回到表达式,只要表达式的值为真,它会一直重复这一过程。

(1)利用计数器,解决确定循环次数的问题

#计算并输出1到100之间的偶数之和。#程序代码:
#eg3_5.py
a=1
b=0
while a <= 100:if a % 2 == 0:b=b+aa = a + 1
print ('1-100的偶数和:',b)
1-100的偶数和: 2550

注意:该程序中,a是循环控制变量,其初始值设为1,每次循环步进为1,其变化直接控制着循环的推进和次数。b的初始值均设为了0,是所有1-100以内的偶数累加和。

(2).利用信号值,解决循环次数不确定的问题

编程从键盘输入正整数,并对输入的正整数中的偶数求和,当输入“-1”时终止该操作。 程序代码:

#eg3_6.py
a =int(input('请输入一个正整数,输入-1则结束输入操作:'))
b=0
while a!=-1:if a % 2 == 0:b=b+aa =int(input('请输入下一个正整数,输入-1则结束输入操作: '))
print('输入的偶数和:',b)
请输入一个正整数,输入-1则结束输入操作:2
请输入下一个正整数,输入-1则结束输入操作: 3
请输入下一个正整数,输入-1则结束输入操作: 4
请输入下一个正整数,输入-1则结束输入操作: 5
请输入下一个正整数,输入-1则结束输入操作: 6
请输入下一个正整数,输入-1则结束输入操作: -1
输入的偶数和: 12

2.for语句

for 变量 in 序列:循环体

3.range函数

range(i,j,k)函数可以建立一个整数序列

这个序列从第i数开始(包括i),到第j数为止(不包括j),每次步进k值。

若i省略,将被认为是从0开始,如果k省略,将被认为步进量为1。

该函数经常被用到for语句中,用于访问序列的索引值。

a=range(1,15,3) #生成序列a= [1, 4, 7, 10, 13]b=range(1,5) #生成序列b=[1, 2, 3, 4]c= range(5) #生成序列c=[0,1,2, 3, 4]d=range(7,0,-1) #生成序列d= [7, 6, 5, 4, 3, 2, 1]

(1).通过索引访问序列中的元素

【例3-7】用列表存储若干人员的名字小写,利用for循环将所有人员名字改为大写。

程序代码:

#eg3_7.py
NameList=['david','mark','ann','philip','michael','mike','jenny']
for i in range(len(NameList)):iName=NameList[i]NameList[i]=iName.upper()
print ('名字列表:',NameList)
名字列表: ['DAVID', 'MARK', 'ANN', 'PHILIP', 'MICHAEL', 'MIKE', 'JENNY']

程序说明:

内建函数range(len(NameList))生成列表[0, 1, 2, 3, 4, 5, 6]。

i 是for语句的循环控制变量,可以遍历[0, 1, 2, 3, 4, 5, 6]列表,实现访问NameList列表中的每个索引(即元素在列表中所处的位置),即i是NameList列表的索引值。

通过iName=NameList[i]语句获取i索引对应的名字。

(2).直接访问序列中的元素

【例3-8】例3-7也可以用如下方法实现。程序代码:
#eg3_8.py
NameList=['david','mark','ann','philip','michael','mike','jenny']
print ('名字列表:',)
for aName in NameList:print (aName.upper(),)
名字列表:
DAVID
MARK
ANN
PHILIP
MICHAEL
MIKE
JENNY

循环嵌套

循环的嵌套是指在一个循环中又包含另外一个完整的循环,即循环体中又包含循环语句。 循环嵌套的执行的过程: 先进入外层循环第1轮,然后执行完所有内层循环,接着进入外层循环第2轮,然后再次执行完内层循环,…,直到外层循环执行完毕。

#eg3_9.py
for i in range(1, 10):print()for j in range(1, i+1):print ("%d*%d=%d," % (i, j, i*j),end=' ')
1*1=1,
2*1=2, 2*2=4,
3*1=3, 3*2=6, 3*3=9,
4*1=4, 4*2=8, 4*3=12, 4*4=16,
5*1=5, 5*2=10, 5*3=15, 5*4=20, 5*5=25,
6*1=6, 6*2=12, 6*3=18, 6*4=24, 6*5=30, 6*6=36,
7*1=7, 7*2=14, 7*3=21, 7*4=28, 7*5=35, 7*6=42, 7*7=49,
8*1=8, 8*2=16, 8*3=24, 8*4=32, 8*5=40, 8*6=48, 8*7=56, 8*8=64,
9*1=9, 9*2=18, 9*3=27, 9*4=36, 9*5=45, 9*6=54, 9*7=63, 9*8=72, 9*9=81,

break语句

break语句可以用在while和for循环中。

在循环进行过程中,如果某个条件被激发(一般通过if语句设定激发的条件),则可以通过break语句立即终止本层循环。

如果break语句在具有两层循环嵌套的内层循环中,则只终止内层循环,进入到外层循环的下一条语句继续执行。

#求一个数除了自身以外的最大约数
#eg3_11.py
num=int(input('please input a number :'))
count=num/2
while count>0:  if num%count==0:breakcount=count-1
print (count,'is the max factor of ',num)
please input a number :20
10.0 is the max factor of  20

continue语句

continue语句可以用在while和for循环中。

在循环进行过程中,如果遇到continue语句,程序会终止本次循环:即忽略continue之后的语句,回到循环的起始语句。

break语句与continue语句的区别

break语句一旦被执行,则整个当前循环将被终止。

continue语句的执行不会终止整个当前循环,只是结束本次循环的剩余语句,提前进入到下一次循环。

请通过以下两个程序了解break语句和continue语句的区别。

#eg3_13_1.py
strs=['Mike','Tom','Null','Apple','Betty','Null','Amy','Dick']
for astr in strs:                                         if astr=='Null':breakprint (astr)
print ('End')
Mike
Tom
End
#eg3_13_2.py
strs=['Mike','Tom','Null','Apple','Betty','Null','Amy','Dick']
for astr in strs:                                          if astr=='Null':                                       continue                                         print (astr)
print ('End')
Mike
Tom
Apple
Betty
Amy
Dick
End

由上面两个程序可见: 在if语句里面是break语句,当触发了条件(即取到的字符串是’Null’)则直接终止了循环,因此只输出了两个姓名Mike和Tom。 在if语句里面是continue语句,当触发了条件(即取到的字符串是’Null’)则只终止了当次循环,提前进入到下次循环(即取得下一个字符串),因此输出了所有不是Null的姓名Mike、Tom、Apple、Betty、Amy、Dick。

Python程序语句相关推荐

  1. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  2. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  3. 在Java中调用Python,java面试题,java初级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 写在 ...

  4. python主要功能_Python主要功能

    python主要功能 Python main function is executed only when it's being executed as a python program. As yo ...

  5. python程序设计黄锐军_Python程序设计

    第1章Python程序基础 1.1 Python程序开发环境 1.1.1教学目标 1.1.2 Python开发环境搭建 1.2 Python程序语句 1.2.1教学目标 1.2.2初识Python程序 ...

  6. Python基础知识梳理

    目录 一.Python语言编程特征 二.基本数据类型(5个) 变量: 常量 类型转换问题 三.输入.输出函数 四.运算符 1.算法运算符 2.逻辑运算符 3.成员运算符 五.随机值获取.重命名 1.获 ...

  7. 程序员前辈归纳整理Python中的控制流语句的知识点(要记得收藏)

    这篇文章主要归纳整理了Python中的控制流语句的知识点,来自于IBM官方网站技术文档,需要的朋友可以参考下 程序流 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一 ...

  8. Java 调用 Python 脚本

    实际工程项目中可能会用到 Java 和 python 两种语言结合进行,这样就会涉及到一个问题,就是怎么用 Java 程序来调用已经写好的 python 脚本呢,一共有四种方法可以实现: 1.在 ja ...

  9. python怎么退出执行/退出程序语句

    python怎么退出执行/退出程序语句 文章目录 python怎么退出执行/退出程序语句 sys.exit()函数 raise SystemExit()异常 os._exit()函数 Ctrl+C中断 ...

最新文章

  1. Discuz代码研究-编码规范
  2. centos 新建swap区文件
  3. 发送自定义IP包(测试中:第二版)
  4. UNIX(多线程):26---悲观锁和乐观锁
  5. [Java][内存模型]
  6. BOM配置与产品构造器
  7. 什么是机器学习?(下)
  8. 会java c php三种语言_php java net三种语言的区别
  9. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_11_反射_案例
  10. eova利用js默认初始查询值查询
  11. 安装mediawiki维基百科
  12. 还原扩容的缩水U盘真实容量方法,让数据免受损失
  13. 华为鸿蒙系统支持旧机型,华为鸿蒙系统2.0来了! 华为鸿蒙2.0系统支持手机机型...
  14. SQLStudio下载
  15. 程序员一般通过什么途径接私活?怎样搞兼职
  16. 5g空分复用技术_首席科学家向际鹰:空分复用技术让中兴通讯5G领先一步
  17. 劳务关系与劳动关系的区别
  18. Linux常见基础指令详解
  19. 用moderncv制作精美的Latex中英文简历
  20. sqlserve 能撤销上一步操作吗_六种电脑快捷键操作让你的效率比以前更高

热门文章

  1. 鬼谷子:大胸怀、大格局、成大事者,一定要看懂这三句话
  2. 阿里宣布史上最大调整:加强敏捷,做薄中台,“大中台” 将何去何从?
  3. 以太坊解析之二——POA共识过程与一些可能的修改方案
  4. 运用NaviCat进行MongoDB查询管道操作索引等操作
  5. 《凡人修真2》 架设
  6. JavaEE:使用Dubbo发布/调用服务(SpringBoot)
  7. Spring(四)AOP的注解方式用法
  8. KeyShot宝石效果材质
  9. 【ESP32_8266_WiFi (九)】JSON基础
  10. JAVA仿猫眼电影系统(毕业设计)