Python程序语句
熟练掌握分支控制语句、循环控制语句
了解迭代器、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程序语句相关推荐
- python语言语句快的标记是什么_一文搞懂Python程序语句
原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...
- java中调用python
在Java中调用Python </h1><div class="clear"></div><div class="postBod ...
- 在Java中调用Python,java面试题,java初级笔试题
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 写在 ...
- python主要功能_Python主要功能
python主要功能 Python main function is executed only when it's being executed as a python program. As yo ...
- python程序设计黄锐军_Python程序设计
第1章Python程序基础 1.1 Python程序开发环境 1.1.1教学目标 1.1.2 Python开发环境搭建 1.2 Python程序语句 1.2.1教学目标 1.2.2初识Python程序 ...
- Python基础知识梳理
目录 一.Python语言编程特征 二.基本数据类型(5个) 变量: 常量 类型转换问题 三.输入.输出函数 四.运算符 1.算法运算符 2.逻辑运算符 3.成员运算符 五.随机值获取.重命名 1.获 ...
- 程序员前辈归纳整理Python中的控制流语句的知识点(要记得收藏)
这篇文章主要归纳整理了Python中的控制流语句的知识点,来自于IBM官方网站技术文档,需要的朋友可以参考下 程序流 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一 ...
- Java 调用 Python 脚本
实际工程项目中可能会用到 Java 和 python 两种语言结合进行,这样就会涉及到一个问题,就是怎么用 Java 程序来调用已经写好的 python 脚本呢,一共有四种方法可以实现: 1.在 ja ...
- python怎么退出执行/退出程序语句
python怎么退出执行/退出程序语句 文章目录 python怎么退出执行/退出程序语句 sys.exit()函数 raise SystemExit()异常 os._exit()函数 Ctrl+C中断 ...
最新文章
- Discuz代码研究-编码规范
- centos 新建swap区文件
- 发送自定义IP包(测试中:第二版)
- UNIX(多线程):26---悲观锁和乐观锁
- [Java][内存模型]
- BOM配置与产品构造器
- 什么是机器学习?(下)
- 会java c php三种语言_php java net三种语言的区别
- 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_11_反射_案例
- eova利用js默认初始查询值查询
- 安装mediawiki维基百科
- 还原扩容的缩水U盘真实容量方法,让数据免受损失
- 华为鸿蒙系统支持旧机型,华为鸿蒙系统2.0来了! 华为鸿蒙2.0系统支持手机机型...
- SQLStudio下载
- 程序员一般通过什么途径接私活?怎样搞兼职
- 5g空分复用技术_首席科学家向际鹰:空分复用技术让中兴通讯5G领先一步
- 劳务关系与劳动关系的区别
- Linux常见基础指令详解
- 用moderncv制作精美的Latex中英文简历
- sqlserve 能撤销上一步操作吗_六种电脑快捷键操作让你的效率比以前更高
热门文章
- 鬼谷子:大胸怀、大格局、成大事者,一定要看懂这三句话
- 阿里宣布史上最大调整:加强敏捷,做薄中台,“大中台” 将何去何从?
- 以太坊解析之二——POA共识过程与一些可能的修改方案
- 运用NaviCat进行MongoDB查询管道操作索引等操作
- 《凡人修真2》 架设
- JavaEE:使用Dubbo发布/调用服务(SpringBoot)
- Spring(四)AOP的注解方式用法
- KeyShot宝石效果材质
- 【ESP32_8266_WiFi (九)】JSON基础
- JAVA仿猫眼电影系统(毕业设计)