第四章,了不起的分支和循环

4.1 分支和循环

Python主要依靠缩进来区分代码块

4.2 快速上手

成绩按照分数来划分等级,90分以上为A,80~90 为B,60~80 为C,60以下为D

p4_1.py

score = int(input("请输入一个分数:"))

if 100 >= score >= 90:
print("A")
if 90 > score >= 80:
print("B")
if 80 > score >= 60:
print("C")
if 60 > score >= 0:
print("D")
if score < 0 or score > 100:
print("输入错误!")

p4_2.py

score = int(input("请输入您的分数:"))

if 100 >= score >= 90:
print("A")
else:
if 90 > score >= 80:
print("B")
else:
if 80 > score >= 60:
print("C")
else:
if 60 > score >= 0:
print("D")
else:
print("输入错误!")

p4_3.py

score = int(input("请输入您的分数:"))

if 100 >= score >= 90:
print("A")
elif 90 > score >= 80:
print("B")
elif 80 > score >= 60:
print("C")
elif 60 > score >= 0:
print("D")
else:
print("输入错误!")

分析:

p4_1.py中,假设输入的是98,程序第一次成立,打印A,不过程序还为结束,需要继续对后面的四个条件进行判断,直到所有的条件不符合,最后才退出程序。

虽然简单的例子,但就输入的测试数据来说,假设每一次判断都会消耗一个CPU时间,那么程序p4_1.py 的代码要比其余的程序多耗费400%的CPU资源。

4.3 避免悬挂else问题

使用Python开发没有这方面的考虑

age = 20
score = "A" if age < 18:
if score == "A":
print("恭喜你,获得青少年一等奖!")
else:
print("抱歉,本活动只限于小于18周岁的青少年参与。")

4.4 条件表达的三元素

>>> x = 5
>>> y = 4
>>> if x < y:
... small = x
... else:
... small = y
...
>>> small
4
>>>

三元操作符

a = x 条件 else y

表示当条件为true的时候,a被赋值为x,否则被赋值为y

>>> x = 5
>>> y = 4
>>> small = x if x < y else y
>>> small
4
>>>

score = int(input("请您输入一个数字:"))

level = 0
if 100 >= score >= 90:
level = 'A'
elif 90 > score >= 80:
level = 'B'
elif 80 > score >= 60:
level = 'C'
elif 60 > score >= 0:
level = 'D'
else:
print("输入错误!") print(level)

如果使用三元操作符实现

score = int(input("请您输入一个数字:"))

level = 0

level = 'A' if 100 >= score >= 90 else 'B' if 90 > score >= 80 else 'C' if 80 > score >= 60 else 'D' if 60 > score >=0 else print("输入错误!")

print(level)

4.5 断言

断言的语法语法其实有点像if条件的分支语句,一般在程序调试的时候,使用

>>> assert 3 < 4
>>> assert 3 > 4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>>

4.6 while循环语句

语法:

while 条件:

  循环体

i = 1
sum = 0 while i <= 100:
sum += i
i += 1
print(sum)

4.7 for 循环语句

语法:

for 变量 in 可迭代对象:

  循环体

sum = 0
for i in range(101):
sum += i;
i += 1
print(sum)

range() 是一个BIF,它可以为指定的整数生成一个数字序列,语法如下:

range(stop)

range(start,stop)

range(start,stop,step)

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(5,10))
[5, 6, 7, 8, 9]
>>> list(range(0,10,2))
[0, 2, 4, 6, 8]
>>> list(range(0,-10,-2))
[0, -2, -4, -6, -8]

4.8 break 语句

break语句终止当前循环,跳出循环体

bingo = "清蒸"
answer = input("小甲鱼是清蒸好吃还是炖了好吃?") while True:
if answer == bingo:
break
answer = input("抱歉,请重新输入。")
print("对吗,只有清蒸才原汁原味。")

打印2018年之后出现的第一个闰年

(当年月份可以被4整除,且不能被100整除,或者可以被400整除,该年为闰年)

for year in range(2018,2100):
if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
break
print("2018年之后出现的第一个润年是", year)

4.9 continue 语句

跳出本轮循环,进行下一轮循环

如果要打印2018年到2100年之间的年份

for year in range(2018,2050):
if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
print(year)
continue

2020
2024
2028
2032
2036
2040
2044
2048

4.10 else语句

while 条件:

  循环体

else:

  条件不成立时执行的内容

for 变量 in 可迭代对象:

  循环体

else:

  条件不成立可执行的内容

0基础入门学习Python(第4章)的更多相关文章

  1. 0基础入门学习Python(第3章)

    第三章 成为高手前必须知道的一些基础知识 3.1 变量 一个值的名字,存储在内存中,我把把这块内存称为变量,大多数语言,把这个过程称之为,给变量赋值,把值存储在变量中. Python这里的做法稍有不同 ...

  2. 0基础入门学习Python(第1-2章)

    第一章:就这么愉快的开始吧 1.1获取Python Python3.7 1.2从idle启动 Python 3.7.3 (default, Mar 27 2019, 09:23:39)[Clang 1 ...

  3. 0基础入门学习Python(第5章)

    列表,元组和字符串 5.1 列表:一个打了激素的数组 有时候可能需要将一些相互之间有关联的数据保存在一起,这个就叫数组.Python将其称为列表. 5.1.1 创建列表 >>> [1 ...

  4. 《零基础入门学习Python》【第一版】视频课后答案第001讲

    测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...

  5. 【Python教程】《零基础入门学习Python》(小甲鱼)

    [Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609

  6. 零基础入门学习Python(1)--我和Python的第一次亲密接触

    前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...

  7. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  8. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  9. 零基础入门学习Python(36)--类和对象:给大家介绍对象

    知识点 Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前 ...

随机推荐

  1. Slickflow.NET 开源工作流引擎快速入门之一: 简单序列流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的流程来示例说明,如何快速了解引擎代码的编写. 版本: .NETCore 2.1 ...

  2. SSH框架之Hibernate第一篇

    1.2Hibernate的概述: 1.2.1 什么Hibernate? Hibernate(开发源代码的对象关系映射框架)是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它 ...

  3. 高强度学习训练第十四天总结:HashMap

    HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一. JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap ...

  4. VUE项目中文件上传兼容IE9

    项目使用VUE编写,UI是ElementUI,但是Element的Upload组件是不兼容IE9的.因为IE9中无法使用FormData. 查找资料基本有两种解决方法:1.引入JQuery和jQuer ...

  5. linux学习(四)复制(cp)移动(mv)删除(rm)查找(find)文件、文件夹操作、软硬链接的区别

    目录 复制文件 mv命令 rm命令 touch 命令 file命令 find命令 grep命令 mkdir命令 rmdir命令 @(复制移动删除查找文件.软硬链接的区别) 复制文件 cp命令用于复制文 ...

  6. mssql sqlserver 如何编写case when 多条件呢?

    摘要: 下文讲述case when中多条件的编写方法,如下所示: 实验环境:sql server 2008 R2  case when 多条件编写方法  case when多条件编写语法: case ...

  7. docker in docker 的启动方式

    --privileged  -v /var/run/docker.sock:/var/run/docker.sock  -v $(which docker):/bin/docker 启动容器时添加上面 ...

  8. Red Hat 4.4.7-4上安装glances填大大大坑实录,我的内心是崩溃的!!!

    今天的任务是在公司的一台压力测试机上安装一个性能监控工具:glances 因为以前我已经多次安装和使用这个工具,我大意的以为整个过程是这样的: 分分钟搞定完事 然而 我们公司的服务器版本实在是太老了, ...

  9. Python入门基础学习(模块,包)

    Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...

  10. HashMap与HashTable的区别和理解

    Hashmap的理解 1:HashMap是基于哈希表的Map接口的非同步实现.此实现提供所有可选的映射操作,并允许使用null值和null键.HashMap储存的是键值对,HashMap很快.此类不保 ...