matlabfor循环语句举例_笨办法学python(七)条件、选择和循环
第七课提纲
一、条件表达式 |
关系运算符 |
> < |
逻辑运算符 |
与或非 |
|
二、选择结构 |
单分支 |
|
双分支结构 |
if与else的双分支结构 |
|
三元运算符的分支语句 |
||
多分支选择结构 |
||
选择嵌套结构 |
||
三、循环结构 |
for 与 while 循环 |
应用举例 |
break 与continue |
||
四、案例分析 |
循环while的应用 |
计算平均分 |
分支if的应用 |
计算一年的第几天 |
|
快速筛选素数 |
一、条件表达式
1.关系运算符
>>> print(1<2>3)False>>> print(1<3>2)True>>> if a=3: #条件表达式不允许使用赋值运算符SyntaxError: invalid syntax>>> 1>2>xxx #上下文不存在xxxFalse>>>
2.逻辑运算符
与关系运算符类似,逻辑运算符and和or具有短路求值或惰性求值的特点,可能不会对所有的表达式进行求值,而是只计算必须计算的表达式的值。以and为例,对于表达式“表达式1 and表达式2”来说,如果表达式1的值为false,则不论表达式2是什么,都不会被计算。在设计包含多个条件的条件表达式时,如果能够大概预测不同条件失败的概率,并将多个条件根据and和or运算符的短路求值特性来组织顺序,可以提高程序运行效率。
>>> 3 and 55>>> 3 or 53>>> 0 and 50>>> not 3False>>> not 0True
下面的函数使用指定的分隔符把多个字符串连接成一个字符串,如果用户没有指定分隔符则使用逗号。
图1 逻辑运算符or的使用
输出结果为:
'1:2:3:4:5'
二、选择结构
1.单分支
单分支的表达式注意冒号和四个空格的缩进:
#if 表达式:#语句
>>> x=input('please input two numbers:')please input two numbers:2 6>>> a,b=map(int,x.split())>>> if a>b:a,b=b,a>>> print(a,b)2 6
在python中,代码的缩进非常重要,缩进是体现代码逻辑关系的重要方式,同一个代码块必须保证相同的缩进量。在实际的开发中,只要遵循一定的约定,python代码的排版是可以降低要求的。例如下面,虽然不建议这样写,但是也是可以执行的:
>>> if 3>2:print('ok')#语句较短,可以直接卸载分支语句的后面ok>>> if True:print(3);print(5)#在一行写多个语句,使用分号分隔35
2.双分支结构
①if与else的双分支结构
语法为:
#if 表达式:#语句1#else:#语句2
图2 鸡兔同笼问题
>>>请输入鸡兔总数和腿的总数:5 16鸡:2,兔:3>>> ================================ RESTART ================================>>>请输入鸡兔总数和腿的总数:4 16鸡:0,兔:4>>> ================================ RESTART ================================>>>请输入鸡兔总数和腿的总数:5 17数据不正确,无解>>>
【知识点8】 ② 三元运算符的分支语句 |
Python提供了一个三元运算符,并且在三元运算符构成的表达式中还可以嵌套三元运算符,可以实现与选择结构相似的效果。
|
图3 三元运算符的应用
3.多分支选择结构
语法表示为:
#if 表达式1:#语句1#elif表达式2:#语句2#elif表达式3:#语句3#…#Else:#语句n
def func(score): if score >100 or score<0: return 'wrong score.must between 0 and 100.' elif score >=90: return 'A' elif score>=80: return 'B' elif score >=70: return 'C' elif score >=60: return 'D' else: return 'E'
4.选择嵌套结构
语句如下
#if 表达式1:#语句1#if 表达式2:#语句2#else:#语句3#else:#if 表达式4:#语句4
还是前面的百分之转换等级abcde的代码,可以如下编写:
def func(score): degree='DCBAAE' if score>100 or score<0: return 'wrong score.must between 0 and 100.' else: index=(score-60)//10 if index >=0: return degree[index] else: return degree[-1]
三、循环结构
1.for 与 while 循环
这两个语句的含义和别的编译语言相同,在此只举案例。下面是用循环结构遍历并输出列表中的所有元素:
图4 循环for的应用
下面是用来输出1-100能被7整除但不能同时被5整除的所有整数:
图5 循环for的应用
下面是用嵌套的循环结构打印九九乘法表:
图6 双重循环的应用
下面使用带有else子句的循环结构来计算1+2+3+4……+100的结果:
图7 for与else一起使用
下面是while 语句实现了同样的功能
图8 while语句的使用
使用内置函数sum也可以实现相同的功能:
>>>sum(range(1,101))5050
2.break 与continue
break | 一旦被执行,将使得break语句所属层次的循环提前结束 |
continue | 提前结束本次循环,忽略continue之后的所有语句,提前进入下一次循环 |
四、案例分析
1.输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩。
numbers=[]while True: x=input('请输入一个成绩:') try: numbers.append(float(x)) except: print('不是合法的成绩')while True: flag=input('继续输入吗(yes/no)').lower() if flag not in ('yes','no'): print('只能输入yes或no') else: break if flag=='no': break print(sum(numbers)/len(numbers))>>>请输入一个成绩:1继续输入吗(yes/no)yes请输入一个成绩:5继续输入吗(yes/no)yes请输入一个成绩:3继续输入吗(yes/no)no3.0>>>
2.编写程序,判断今天是今年的第几天
import timedate=time.localtime()year,month ,day=date[:3]day_month=[31,28,31,30,31,30,31,31,30,31,30,31]if year%400==0 or(year%4==0 and year%100!=0): day_month[1]=29if month ==1: print(day)else: print(sum(day_month[:month-1])+day)
3.如何快速判断一个数字是否是素数?
n=input('input an integer:')n=int(n)if n==2: print('Yes')elif n%2==0: print('No')#偶数必然不是素数else:#大于5的素数必然出现的6的倍数的两侧#因为6x+2,6x+3,6x+4肯定不是素数,假设x为大于1的自然数 m=n%6if m!=1 and m!=5: print('No')else: for i in range(3,int(n**0.5)+1,2): if n%i==0: print('No') break print('Yes')
matlabfor循环语句举例_笨办法学python(七)条件、选择和循环相关推荐
- 笨办法学python pdf 第三版_笨办法学python第三版
笨办法学python第三版pdf电子书是一本Python学习参考书,是美国程序员Zed A.Shaw编著,通过简单通俗的方法,结合内部的集体,让程序员学懂python,适用于初级学习python编程的 ...
- 笨办法学python第五版_笨办法学python PDF下载|笨办法学python第五版 电子版附目录_最火软件站...
笨办法学Python第五版PDF电子版是专门为初学Python的朋友准备的一款电子图书资料,可以帮助你更好的学习Python编程知识,该电子书每章节都附带了常见问题回答以及练习题目,能够帮助学习者快速 ...
- 笨办法学python在线阅读_笨办法学python全集.pdf
TableofContents 笨办法学Python 1.1 序言 1.2 前言 1.3 简介 1.4 练习0.安装和准备 1.5 练习1.第一个程序 1.6 练习2.注释和井号"#&quo ...
- 笨办法学python3进阶篇下载_笨办法学Python 3 进阶篇
书名:"笨办法"学Python 3:进阶篇 定价:59.0 ISBN:9787115505392 作者: 泽德·A. 肖 版次:第1版 出版时间:2020-06 内容提要: 本书是 ...
- python描述器 有限状态机_笨办法学 Python · 续 练习 30:有限状态机
练习 30:有限状态机 每当你阅读一本关于解析的书,都有一个可怕的章节,关于有限状态机(FSM).他们对"边"和"节点"进行了详细的分析,每个可能的" ...
- python转义例题_笨办法学Python记录--习题37 异常,lambda,yield,转义序列
为什么使用异常 错误处理.事件通知.特殊情况处理.退出时的行为.不正常的程序流程. 简单的示例 在没有任何定义x变量的时候: print x print 1 将会抛出NameError异常: Name ...
- python列表两两相减_笨办法学python(二)数值、变量以及运算
第二课提纲 一.注释 单行注释 # 多行注释 ''' 二.变量 变量声明 内存管理 变量类型 type(x) isinstance(x,int) 三.数字运算 实数相加减 复数相运算 四.运算符与表达 ...
- python考试代码复制_笨办法学Python 习题 26: 恭喜你,现在可以考试了! 错误代码下载链接...
你已经差不多完成这本书的前半部分了,不过后半部分才是更有趣的.你将学到逻辑,并通过条件判断实现有用的功能. 在你继续学习之前,你有一道试题要做.这道试题很难,因为它需要你修正别人写的代码.当你成为程序 ...
- 笨办法学python第五版_笨办法学Python(五)
习题 5: 更多的变量和打印 我们现在要键入更多的变量并且把它们打印出来.这次我们将使用一个叫"格式化字符串(format string)"的东西. 每一次你使用 " 把 ...
最新文章
- 【学习笔记】操作系统之哲学原理
- 模块式开发 java_Java9系列第8篇-Module模块化编程
- WPF 4 动态覆盖图标(Dynamic Overlay Icon)
- JS正则表达式的分组匹配
- 科学函数计算机怎么关机,函数计算器的功能有哪些?关机是哪个键?
- JavaScript设计模式之享元模式
- PCB中产生电磁干扰的原因及消除干扰技巧
- 【NOIP2018模拟赛2018.8.28】video
- c# mailgun 发送邮件测试
- FME实现CAD文件复杂注记
- Delphi访问网络共享文件夹
- 支付宝集五福最全攻略,五分钟集齐五福!
- V2X-Hub,车路协同云控平台
- Arduino温度传感器全系列使用详解
- 如何在Windows系统搭建Node.js环境
- 程序员进阶!读完我这份《Android开发核心源码精编解析》面试至少多要3K!已拿到offer
- thingworx运营分析模型
- 管壁式换热器cad图纸_天津不锈钢螺旋板式换热器生产厂家-中邦冷却器
- 华为机考攻略(python)--入门题【5题】(第一题HJ5进制转换)
- 蓝桥杯 省赛 砝码称重
热门文章
- Selenium之多窗口句柄的切换
- Selenium之鼠标和键盘操作及扩展
- nginx子请求并发处理
- linux下eaccelerator,memcache,memcached安装
- 网易 for linux,NetEaseMusic
- HTML中如何写for循环全选,利用html:multibox 循环遍历checkbox 并且全选全解除
- c语言编程员工信息排序,员工工资管理系统(c语言编程)
- java400状态,java – HttpURLConnection:如何读取400响应的有效负载
- java兔子_JAVA经典兔子问题
- mangodb 高频数据_金融分析量化系统,高频交易程序数据库通常采用哪种方式存贮数据?...