零基础入门学习Python(8)--了不起的分支和循环2
2018-02-28 16:43
639 查看
前言
上节课小甲鱼教大家如何正确的打飞机,其要点是判断和循环,判断就是该不该做某事,
循环就是持续做某事
知识点
写一个程序
按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。temp = input('请输入成绩:') a = int(float(temp)) if 90< a <= 100: print('A') else: if 80< a <=90: print('B') else: if 60 < a <=80: print('C') else: if 0<= a <=60: print('D') else: print('输入错误')
利用
elif对上述代码进行改进.
elif相当于C语言中的
else if
temp = input('请输入成绩:') a = int(float(temp)) if 90< a <= 100: print('A') elif 80< a <=90: print('B') elif 60 < a <=80: print('C') elif 0<= a <=60: print('D') else: print('输入错误')
Python 可以有效避免“悬挂else”
什么叫悬挂else
举个例子,初学C语言的朋友可能很容易被一下代码欺骗:
if ( hi > 2 ) if ( hi > 7 ) printf( "好棒!好棒!" ); else printf( "切~" );
在这个例子中,
else是想和
外层的if相匹配,但事实上按照C语言就近原则,
else是与
第二个if相匹配。由于初学者的一个不小心,就导致一个bug的出现。这就是著名的
悬挂else事件。
而在Python中,
Python的缩进使用了强制的规定,使得代码必须正确的对齐,否则程序无法运行。所以Python是让程序员来决定else是属于哪一个if,通过限制你的选择,从而减少了不确定性。
条件表达式(三元操作符)
例子:x, y = 4, 5 if x < y: small = x else: small = y
我们说多少元操作符的意思是指这个操作符有多少个操作数。
例如说 赋值操作,
small = x,它有两个操作数,分别是
左边的small和
右边的x,我们就叫它
二元操作符或者说是
二目操作符
当我们的
减号-当作
负号-来使用时,就代表一元操作符.
三元操作符,也就是说也有三个操作数
利用三元操作符进行改进:
small = x if x < y else y 语法: x if 条件 else y 当 if条件问True时,把x值给small。当if条件为False时,把y值给small
断言(assert)
assert关键字我们称之为“断言”,当这个关键字后边的条件为假时,程序自动崩溃并抛出AssertionError的异常。举个例子:
>>> assert 3 > 4 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> assert 3 > 4 AssertionError >>> assert 4 > 3 >>>
那在什么情况下我们需要使用到assert呢?
当我们在测试程序时候,因为与其让错误的条件导致程序后面出现莫名其妙的bug或者崩溃的话,不如在错误条件出现的那一瞬间我们实现自爆。这就是我们assert存在的理由。
一般来说 我们可以用它在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
课后习题
请将以下代码 以三元操作符形式进行修改:x,y,z = 6,5,4 if x < y: small = x if z < small: small = z elif y < z: small = y else: small = z
small = x if (x < y and x < z) else (y if y < z else z)
相关文章推荐
- 【零基础入门学习Python笔记009】了不起的分支和循环3
- 零基础入门学习Python(9)--了不起的分支和循环3
- 【零基础入门学习Python笔记007】了不起的分支和循环1:打飞机框架
- 零基础入门学习Python(7)--了不起的分支和循环1
- 零基础入门学习Python(7)--了不起的分支和循环1
- 零基础入门学习Python(8)--了不起的分支和循环2
- 零基础入门学习Python(9)--了不起的分支和循环3
- 【零基础入门Python学习笔记008】了不起的分支和循环2
- 了不起的分支和循环03 - 零基础入门学习Python009
- 了不起的分支和循环02 - 零基础入门学习Python008
- 了不起的分支和循环01 - 零基础入门学习Python007
- Python学习入门基础教程(learning Python)--3.1Python的if分支语句
- Python学习入门基础教程(learning Python)--4 Python的循环结构
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句
- Python学习入门基础教程(learning Python)--3.1Python的if分支语句 .
- Python学习入门基础教程(learning Python)--3.3 分支语句的条件表达式详解 .
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句 .
- Python学习入门基础教程(learning Python)--3 Python分支结构和布尔逻辑
- Python基础教程学习笔记----第五章 条件、循环和其他语句
- 循环控制结构程序06 - 零基础入门学习C语言21