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语句结构: ...
随机推荐
- DB2 create partitioned table
在Z上和开放平台上的创建方法还不太一样,两套人马开发出来的就是牛! 蛋疼…… 贴不同类型的几个例子感受一下,Z上的ASC,DESC不见了: CREATE TABLE foo(a INT) PARTIT ...
- Linux下第一次使用MySQL数据库,设置密码
在终端下输入:/etc/rc.d/init.d/mysqld status 查看MySQL状态,看看是否运行. 没有运行的话就输入:/etc/rc.d/init.d/mysqld start 这时,就 ...
- UVA 111 History Grading
读题读了好久,其实就是在输入数据时要对数据的位置进行相应的改变 #include<iostream> #include<cstring> #include<cstdio& ...
- jQuery - 5.样式操作
样式操作 1.获取样式 attr("class"), 2.设置样式attr("class","myclass"), 3.追加样式addCla ...
- PHP中比较两个时间的大小与日期的差值
在这里我们全用到时间戳 mktime(hour,minute,second,month,day,year,[is_dst]) 其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的 ...
- Python 调试 PDB
出处:http://blog.163.com/gjx0619@126/blog/static/12740839320114995947700/ 完整 请参考:http://docs.python.or ...
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...
- Elasticsearch在Windows下的安装
下载Elasticsearch,地址:elasticsearch.org/download 下载jdk,百度搜索jdk下载即可 配置JAVA_HOME变量,配置方法在此文:http://jingyan ...
- 【PHP小项目使用MVC架构】
小项目名称是雇员管理系统. mvc是一种项目的开发模式,中文名称为模式视图控制器,是强制程序员将数据的输入.处理.输出分开的一种开发模式. 在这个小项目中,控制器使用service作为后缀名. 项目u ...
- js 横幅播放
js 横幅播放 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...