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()默认返回的数据类型是strstr不能直接和整数比较,必须先把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 条件、循环的更多相关文章

  1. [转帖]Linux教程(21)-Linux条件循环语句

    Linux教程(21)-Linux条件循环语句 2018-08-24 16:49:03 钱婷婷 阅读数 60更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原创文 ...

  2. python学习笔记2_条件循环和其他语句

    一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出 ...

  3. day04 if判断、while条件循环、for迭代器循环部分使用举例

    一:if判断 1.成绩>=90,那么:优秀         如果成绩>=80且<90,那么:良好         如果成绩>=70且<80,那么:普通         其 ...

  4. 6.8 出口条件循环:do while

    while循环和for循环都是入口条件循环,即在循环的每次迭代之前检查测试条件,所以有可能根本不执行循环体中的内容.C语言还有出口条件循环(exit-condition loop),即在循环的每次迭代 ...

  5. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环

    条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...

  6. Python之条件 循环和其他语句 2014-4-6

    #条件 循环和其他语句 23:30pm-1:431.print和import的更多信息 使用逗号将多个表达式输出 >>> print 'age:',42 age: 42 >&g ...

  7. Python基础教程之第5章 条件, 循环和其它语句

    Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 #Chapter 5 条件, 循环 ...

  8. Python笔记2----包、模块、库、条件循环

    包.模块.库 包指的是 : 文件夹 模块和库就是.py文件. 其中,库是一些功能相同的模块的集合,其也是模块. 1.import 模块 2.form 库 import 模块 3.import 包.子包 ...

  9. JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }

    重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...

随机推荐

  1. 方法重载的小demo

    方法的重载(overload)要求:1,同一个类中2,方法名必须相同3,方法的参数列表不同(1,参数的个数不同2,参数类型不同,但是参数名相同) 注:方法的重载与方法的返回值类型没有关系 packag ...

  2. UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃

      UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃 [摘要:reason: '-[UITableView _conten ...

  3. Codeforces Round #370 (Div. 2)(简单逻辑,比较水)

    C. Memory and De-Evolution time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  4. 20145206邹京儒《Java程序设计》第7周学习总结

    20145206 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1.1 时间的度量 ·即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix ...

  5. "".equals(str)和str.equals("")的区别

    如果当str为null的话 "".equals(str)不会报空指针异常,而str.equals("")会报异常.这种方式主要用来防止空指针异常

  6. 大话数据结构–1.基础知识+2.算法

      2.算法: 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每个指令表现为一个或多个操作. 特性:输入.输出.有穷性.确定性.可行性.   2.9.1.算法时间复杂度: 语句 ...

  7. C#的正则表达式

    using System; using System.Collections; using System.Collections.Generic; using System.IO; using Sys ...

  8. .NET生成带Logo的二维码

    使用ThoughtWorks.QRCode生成,利用这个库来生成带Logo的二维码(就是中间嵌了一个图片的二维码),直接见代码: HttpContext context = HttpContext.C ...

  9. CXF学习(3) wsdl文件

    <!--一次webservice调用,其实并不是方法调用,而是发送SOAP消息 ,即xml片段--> <!--以上一篇中的wsdl文档为例,这里我将注释写到文档中 --> &l ...

  10. git 创建本地分支,然后推送到服务器上

    git checkout -b crm-2.repair-callback.phoneSet git checkout -b crm-2.repair-callback.RepairHis git p ...