Start_Learning_Python 03 条件、循环
if循环
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
条件语句和循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。(稍后讲解break)
可以通过下图来简单了解条件语句的执行过程:

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,如果if和 elif条件都为Flast择执行else
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
OK 很容易理解 不多赘述 直接看代码
age = 24
if age >= 18: # 满足age>18输出adult
print('adult')
elif age >= 6: # 不满足age>18满足age>=6输出teenager
print('teenager')
else: # 以上都不满足输出kid
print('kid')
输出结果肯定是adult了,可是我还是一个孩纸,我不想让输出结果为adult怎么办?
OK 顺便说一下input 读取用户输入 ,这样我们可以自己输入年龄了。
需要注意的是:input()默认返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
age = int(input("age:"))
if age >= 18: # 满足age>18输出adult
print('adult')
elif age >= 6: # 不满足age>18满足age>=6输出teenager
print('teenager')
else: # 以上都不满足输出kid
print('kid')
age:9 teenager
OK 我们练习一下,输入三个数 并输出其中最大的那个数值。
print("请依次输入三个数字,系统会为你输出最大值")
num1 = int(input("Number1:"))
num2 = int(input("Number2:"))
num3 = int(input("Number3:"))
maxNum = num1
if num2 > num1:
maxNum = num2
if num2 > num3:
maxNum = num2
else:
maxNum = num3
elif num1 > num3:
maxNum = num1
else:
maxNum = num3
print("最大值为:", maxNum)
下面我们讨论python中的循环语句。
Python中的循环语句有 for 和 while。
Python循环语句的控制结构图如下所示:

Python中while语句的一般形式:
while 判断条件:
语句
同样需要注意冒号和缩进!以下实例使用了 while 来计算 1 到 100 的总和:
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n, sum)) # 此处用到 % 占位符 作用是%后面()里面的n和sum按顺序替代前面占位的%d
我们可以通过设置while的条件表达式永远不为 false 来实现无限循环!(死循环)
a = 1
while a == 1 : # 表达式永远为 true
num = int(input("请输入一个数字 :"))
print ("你输入的数字是: ", num)
print ("Good bye!")
执行结果如下:
请输入一个数字 :5 请你输入的数字是: 5 请输入一个数字 :
您可以使用 CTRL+C 来退出当前的无限循环。
while循环可以使用else语句:
在 while … else 中条件语句为 false 时执行 else 的语句块:
count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5")
执行结果如下:
小于 5 小于 5 小于 5 小于 5 小于 5 大于或等于 5
OK 我们练习一下,用while打印九九乘法表:
乘法表看起来有点复杂,那么首先我们来实现乘法表的最后一横:
a = 1
while a <= 9:
z = a*9
print(str(a)+"*"+str(9)+"="+str(z), end=" ")
a += 1
print()输出完默认换行,end=" "表示输出完不换横且打印引号里的内容 这里引号内是空格 执行结果如下:
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
我们在循环外面再”嵌套“一层while语句就完成任务了(只可意会不可言传,仔细看思考分析其中的奥妙):
b = 1
while b <= 9:
a = 1
while a <= b:
z = 9*a
print(str(a) + "*" + str(9) + "=" + str(z), end=" ")
a += 1
b += 1
print()
结果不出所料:
1*9=9 1*9=9 2*9=18 1*9=9 2*9=18 3*9=27 1*9=9 2*9=18 3*9=27 4*9=36 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
下面来点有趣的 用前面所学的写一个游戏:坦克大战!

骗你的!
学这点知识还不够写出坦克大战的游戏,相信以后会的!
那么我们来玩一个猜数字的游戏 :事先确定一个幸运数字 键盘输入一个数字与之比较,猜错的话提醒是猜大了还是猜小了,如此猜对为止。
#猜数字 猜对为止
lucky_number = 666
guess_number = int(input("猜猜这个数字是多少:"))
while guess_number != lucky_number:
if guess_number > lucky_number:
print("大了!")
elif guess_number<lucky_number:
print("小了!")
guess_number = int(input("请重新输入:"))
else:
print("猜对了!,努力学习便可做出坦克大战的游戏!")
执行结果:
猜猜这个数字是多少:999 大了! 请重新输入:10 小了! 请重新输入:666 猜对了!,努力学习便可做出坦克大战的游戏!
for
Python的 for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
一个实例:
>>> languages = ["C", "java", "C++", "Python"] >>> for x in languages: ... print (x) ... C java C++ Python >>>
rang()函数:
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
>>> for i in range(5): ... print(i) ... 0 1 2 3 4
你也可以使用range指定区间的值:
>>> for i in range(4,8) :
print(i)
4
5
6
7
>>>
也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
>>> for i in range(0, 10, 3) :
print(i)
0
3
6
9
>>>
负数:
>>> for i in range(-10, -100, -30) :
print(i)
-10
-40
-70
>>>
您可以结合range()和len()函数以遍历一个序列的索引,如下所示:(这里不懂的先不用看 等我们学会列表之后再回来看)
>>> a = ['iPhone', 'Sansung', 'Motorola', 'HTC', 'NOKIA'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 iPhone 1 Sansung 2 Motorola 3 HTC 4 NOKIA >>>
还可以使用range()函数来创建一个列表:
>>> list(range(5)) [0, 1, 2, 3, 4] >>>
break
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 实例如下:
for letter in 'Runoob': # 第一个实例
if letter == 'b':
break
print ('当前字母为 :', letter)
var = 10 # 第二个实例
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
结果:
当前字母为 : R 当前字母为 : u 当前字母为 : n 当前字母为 : o 当前字母为 : o 当期变量值为 : 10 当期变量值为 : 9 当期变量值为 : 8 当期变量值为 : 7 当期变量值为 : 6 Good bye!
continue
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
for letter in 'Runoob': # 第一个实例
if letter == 'o': # 字母为 o 时跳过输出
continue
print ('当前字母 :', letter)
var = 10 # 第二个实例
while var > 0:
var = var -1
if var == 5: # 变量为 5 时跳过输出
continue
print ('当前变量值 :', var)
print ("Good bye!")
结果:
当前字母 : R 当前字母 : u 当前字母 : n 当前字母 : b 当前变量值 : 9 当前变量值 : 8 当前变量值 : 7 当前变量值 : 6 当前变量值 : 4 当前变量值 : 3 当前变量值 : 2 当前变量值 : 1 当前变量值 : 0 Good bye!
Start_Learning_Python 03 条件、循环的更多相关文章
- [转帖]Linux教程(21)-Linux条件循环语句
Linux教程(21)-Linux条件循环语句 2018-08-24 16:49:03 钱婷婷 阅读数 60更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原创文 ...
- python学习笔记2_条件循环和其他语句
一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出 //print() 打印多个表达式是可行的,用逗号隔开. 在脚本中,两个print语句想在一行输出 ...
- day04 if判断、while条件循环、for迭代器循环部分使用举例
一:if判断 1.成绩>=90,那么:优秀 如果成绩>=80且<90,那么:良好 如果成绩>=70且<80,那么:普通 其 ...
- 6.8 出口条件循环:do while
while循环和for循环都是入口条件循环,即在循环的每次迭代之前检查测试条件,所以有可能根本不执行循环体中的内容.C语言还有出口条件循环(exit-condition loop),即在循环的每次迭代 ...
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环
条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...
- Python之条件 循环和其他语句 2014-4-6
#条件 循环和其他语句 23:30pm-1:431.print和import的更多信息 使用逗号将多个表达式输出 >>> print 'age:',42 age: 42 >&g ...
- Python基础教程之第5章 条件, 循环和其它语句
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 #Chapter 5 条件, 循环 ...
- Python笔记2----包、模块、库、条件循环
包.模块.库 包指的是 : 文件夹 模块和库就是.py文件. 其中,库是一些功能相同的模块的集合,其也是模块. 1.import 模块 2.form 库 import 模块 3.import 包.子包 ...
- JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }
重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...
随机推荐
- Mysql 数据库无法删除 41 错误
今天删除Mysql 数据库时候,没法删除,直接报错 41: 方法,进入 mysql的安装目录 我的是:D:\tools\Mysql\V76384-01\mysql-advanced-5.6.25-wi ...
- 一个TextView内显示不同颜色的文字
String format = "<font color='#FC8262'>%s</font>:%s"; String text = String.for ...
- 从xml中构建sqlSessionFactory
String resource = "org/mybatis/example/Configuration.xml"; Reader reader = Resources.getRe ...
- android DisplayMetrics 获取屏幕分辨率
Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显 ...
- DB2应用中嵌入式SQL取值入本地变量
Declare section for host variables in C and C++ embedded SQL applications You must use an SQL declar ...
- YCbCr 编码格式(YUV)---转自Crazy Bingo的博客
YCbCr是DVD.摄像机.数字电视等消费类视频产品中,常用的色彩编码方案. YCbCr 有时会称为 YCC..Y'CbCr 在模拟分量视频(analog component video)中也常被称为 ...
- Sexagenary Cycle(天干地支法表示农历年份)
Sexagenary Cycle Time Limit: 2 Seconds Memory Limit: 65536 KB 题目链接:zoj 4669 The Chinese sexagen ...
- 玩转SSRS第十篇---自定义代码
提到SSRS 那么就不得不提一下自定义代码的功能,通过自定义代码,有时候可以解决一些比较复杂的问题,比如将让指定的数据行应用指定的属性值.此篇将演示如何通过简单结构的自定义代码进行报表样式的基本设计. ...
- JAVA 堆栈知识和Volatile关键字
栈内存:存放基本类型的变量和对象的引用 堆内存:存放用new创建的对象和数组 栈帧:保存了局部变量表,操作数栈,方法的返回地址以及其它的附加信息 volatile修饰的变量,jvm虚拟机只是保证从主内 ...
- HTML页面实现返回顶部效果 go to top
1.首先导入jQuery插件. 2.js代码: $(window).scroll(function () { if($(window).scrollTop()>=100) { $(". ...