1.条件语句

在Python语言中,条件语句是一种选择结构,因为是通过关键字if实现的,所以也称为if语句。if语句有“如果……则……”之意,能够根据关键字if后面的布尔表达式的结果值来选择将要执行的代码语句。Python语言中的if语句有3种,分别是if语句、if…else语句和if…elif…else语句。if语句由保留字符if、条件语句和位于后面的语句组成,条件语句通常是一个布尔表达式,结果为true和false。如果条件为true,则执行语句并继续处理其后的下一条语句;如果条件为false,则跳过该语句并继续处理整个if语句的下一条语句。

1.1最简单的if语句

当“判断条件”成立(非零)时,执行后面的语句,而执行的内容可以多行,以缩进来区分表示同一范围。当条件为假时,跳过其后缩进的语句,其中的条件可以是任意类型的表达式。
下面举出一个小例子

x = input("请输入一个整数:")    # 提示输入一个整数
x = int(x)                     # 将输入的字符串换为整数
if x < 0 :                     # 如果x小于0
    x = -x                     # 如果x小于0,则将x取负值
print(x)                       # 输出x的值

input()函数是一个互动函数,上述的实例中实现了一个用于读者输入的整数绝对值的程序。其中x=-x 是“if”语句条件成立时选择执行的语句。执行后提示读者输入一个整数,假设你读者输入-100,则输出的其绝对值100。

1.2使用if…else语句

在前面介绍的if语句中,并不能对条件不符合的内容进行处理,所以Python引进了另外一种条件语句——if…else.

x = input("请输入一个整数:")
x = int(x)
if x < 0:
    print("你输入的是一个负数。")
else:
    print("你输入的是零或正数。")

这个例子的意思就是一开始会提示你输入一个整数,如果这个整数小于0,运行结果将会输出“你输入的是一个负数”,如果你输入的整数大于或等于0,那么运行的结果将会输出“你输入的是零或正数”

1.3使用if…elif…else语句

这一条语句是用来判断多条件的语句,道理和逻辑也是很简单,跟上面那两条语句一样的理解,就还是结合小实例来理解理解叭。

x = input("请输入你的Python成绩:")
x = float(x)                      # 将输入的字符串转换为浮点数
if x >= 90:
    print("哇哦,优秀!")
elif x >= 80:
    print("良好,还不错呢")
elif x >= 70:
    print("加油向良好出发")
elif x >= 60:
    print("刚好合格哦")
else:
    print("哦天,不合格")

在上面这个例子中使用了多个elif语句分支,功能是根据每个条件的成立与否来选择输出成绩等级。比如,你输入95,首先会判断第一个条件“>=90”,符合,就直接输出,如果输入的是75,那么判断第一个条件和第二个条件发现都不符合则跳到第三个条件,符合,输出“加油向良好出发”,以此类推。

1.4 if语句的嵌套

在Python语言中,在if语句中继续使用if语句的用法称为嵌套。在写法上与不嵌套的if语句在形式上的区别就是缩进不同而已。不过有一个小建议,语句不要嵌套太深,对于多层嵌套语句来说应该尽量减少嵌套层次,这样方便代码的理解和阅读,而且如果嵌套太深可能会忽略一些可能性的呢。不,我不听

x = input("请输入一个整数:")
x = int(x)
if x>0:
    if x>100000:
        print("好大呀!本计算机不显示了")
    else:
        print("还行,本计算机显示为正数")
    print("大于零的数都被本计算机承包了")
else:
    if x <-100000:
        print("太小啦!本计算机不显示了")
    else:
        print("还行,本计算机显示为负数")
    print("小于零的数都被本计算机承包了")

上面这个例子就是使用了if语句的嵌套,实例的理解是读者输入一个整数,如果这个整数大于0且大于100000(呀,大于0且大于100000,这句话前半部分好像没什么价值哈哈哈,大于100000肯定就是大于0。),就会输出"好大呀!本计算机不显示了";如果输入的数在0到100000之间的话,就会输出"还行,本计算机显示为正数"。下面也是一样的道理,如何输入的整数小于-100000,则会输出"太小啦!本计算机不显示了";如果在-100000到0之间则会输出"还行,本计算机显示为负数"。

1.5实现switch语句的功能

Python中是没有switch语句的,但是在Python程序中,要想要实现其他语言中switch语句的多条件判断功能,可以使用elif来实现。如果在判断时需要同时判断多个条件,可以借助运算符(and)来实现,表示只有两个条件同时成立的情况下,判断条件才成功,也可以借助运算符(or)来实现,表示两个条件有一个成立时判断条件成功。

num = 8
if num >= 0 and num <= 10:
    print("大家好")
num = 10
if num < 0 or num > 10:
    print("猜猜会输出什么")
else:
    print("我是00")
num = 8
if (num >=0 and num <=5) or (num >= 10 and num <=15):
    print("猜猜这一句会出现吗?")
else:
    print("大家多多关注呀")

在上述代码中,当if有多个条件时可以使用括号来区分判断条件的先后顺序,括号中的判断条件优先执行,此外and和or的优先级低于 >,< 等判断符号,即大于和小于在没有括号的情况下会比and和or要优于判断。

score = input("大胆的输入你的成绩吧:")
score = int(score)
if(score >= 90) and (score <= 100):
    print("A")
elif(score >= 80) and (score < 90):
    print("B")
elif(score >= 60) and (score < 80):
    print("C")
else:
    print("D")

2.循环语句

在Python语言中,循环语句是一种十分重要的程序结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。就比如我们在学校操场跑步一样,操场一圈400米,我们来假设一下,一次性就跑它个10圈,而且这10圈的路线是相同的、重复的,这10圈的跑步动作就是一个循环。在Python中主要有3种循环语句,分别是for循环语句、while循环语句和循环控制语句。

2.1基本的for循环语句

在Python语言中,for语句是Python语言中构造循环结构程序的语句之一,而且其实在Python中,大多数的循环结构都是用for语句来完成的。下面,我来简单感受一下循环列表中的数据的小实例。

for i in [1, 2, 3, 4, 5]:
    print(i, "的平方是:", i*i)
else:
    print("循环结束!")

实例2

for word in "python":
    print("当前的字母:", word)

实例3

score = {"语文": 90, "数学": 98, "英语": 95}
for key,value in score.items():
    print(key,":",value)
for key in score.keys():
    print(key)
for value in score.values():
    print(value)

2.2借助内置函数range()实现

print("第一次循环输出:")
for i in range(6):
    print(i)
print("第二次循环输出:")
for i in range(0,7,2):
    print(i)

注意”:“不要丢掉,包括前面的条件语句中也是有冒号的。这一段代码的意思我们来理解理解,第一次循环15的顺序循环,第二次循环是06的顺序循环并且步长是2。

2.4使用for…else循环语句

在Python中,for…else表示的意思是:for中的语句跟上面所分享的作用是没有什么区别滴,但是else中的语句会在循环正常执行完(即for不是通过break跳出而中断)的情况下执行。

list = [1,2,3,4,5,6]
for i in list:
    print(i)
else:
    print("其他")

上面这里例子是没有break的,下面的例子就是有break,不触发else的。

list = [1,2,3,4,5,6]
for i in list:
    print(i)
    break
else:
    print("其他")

2.5嵌套for循环语句

可以在一个for语句中使用另外一个for语句。我们用这个嵌套循环来打印一张九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(j,"*",i,"=",(j*i),end="\t")
    print()

2.7基本的while循环语句

在Python中,while语句用于循环执行某段程序,以处理需要重复处理的相同任务。当判断条件为真时将循环执行后面的执行语句,一直带条件为假时再退出循环。如果第一次条件表达式就是假的,那么while循环将被忽略;如果条件表达式一直为真,那么while循环将一直执行。也就是说,while循环中的执行语句部分会一直循环执行,直到当条件为假时退出循环,并执行循环体后面的语句。

count = 0     # 设置count的初始值为0
while (count<9):
    # 如果count小于9则执行下面的while循环
    print(count)
    count = count + 1  # 每次while循环count值递增1
print("over")

2.8使用while…else循环语句

和使用for…else循环语句一样,在Python程序中也可以使用while…else循环语句,不过与for循环不同的是,while语句只有在测试条件为假时才会停止。在while语句的循环体中一定要包含改变测试条件的语句,以保证循环能够结束,以避免死循环的出现。如果条件为真,就执行循环体;如果条件为假,则终止循环。其中的else语块,它的作用跟上一篇分享的文章中的for循环中的else语句块一样。如果while循环不是由break语句终止的,则会执行else语句块中的语句。

count = 0
while count < 6 :
    print(count,"小于6")
    count = count + 1
else:
    print(count,"大于等于6")

2.9使用while嵌套

和使用for嵌套语句一样,在Python程序中也是可以使用while循环嵌套语句,还可以在循环体内嵌入其他循环体,例如在while循环中可以嵌入for循环,反之也可以在for中嵌入while循环。

j = 0
while j < 4:     # 整体一共4行
    j = j + 1
    i = 0
    while i < 4:  #一行4列
        print("1",end = "") 
        i = i + 1
    print("")

2.10使用循环控制语句

循环控制语句也称为跳转语句,其功能可以更改循环内语句执行的顺序。例如在使用循环语句时,有时候不需要再继续循环下去,此时就需要特定的语句来实现跳转功能。循环控制语句一共有三种,分别是break,continue和pass

使用break语句

break语句的功能是终止循环语句,即使循环语句没有False条件或者序列还没完全递归完,也会停止执行循环语句。break语句通常用于while循环语句和for循环语句中。就像下面这两个小例子一样。

for letter in "python":
    if letter == "h":
        break
    print(letter)
number = 10
while number > 0:
    print(number)
    number = number-1
    if number == 5:
        break   # number递减到5停止循环
print("over!")

使用continue语句

在Python中,continue语句的功能是跳出本次循环,这和break语句是有区别的,break语句是跳出整个循环。通过使用continue语句,可以告诉Python跳过当前循环的剩余语句,然后进行下一轮循环。我们还是用上面的例子来演示一下。

for letter in "python":
    if letter == "h":
        continue  # 跳过“h”
    print(letter)
number = 10
while number > 0:
    number = number-1
    if number == 5:
        continue
    print(number)
print("over!")

使用pass语句

pass是一个空语句,是为了保持程序结构的完整性而推出的语句。pass语句不做任何事情,一般只用作占位语句。

for letter in "python":
    if letter == "h":
        pass
        print("pass语句是一个空语句")
    print(letter)