猪行天下之Python基础——4.1 条件判断与循环

简介: 内容简述:1、条件判断2、循环

1、条件判断


所谓的条件判断就是根据一条或者多条语句的执行结果(True/False)来决定执行哪一块的代码。


① 条件判断的三个关键字


Python 使用ifelseelif三个关键字的搭配来实现判断语句,使用代码示例如下:


# 单分支(只有一个if),如果代码块只有一条语句,可以和if语句写到一行
name = 'CoderPig'
if name == 'CoderPig': print("你是CoderPig")
# 双分支(if-else)
sex = "男"
if sex == '男':
    print("你是一个男性")
else:
    print("你是一个女性")
# 多分支(if-elif-else)
score = 78
if score == 100:
    print("满分!")
elif 90 <= score < 100:
    print("优秀!")
elif 80 <= score < 90:
    print("良好!")
elif 70 <= score < 80:
    print("中等!")
elif 60 < score < 70:
    print("差!")
else:
    print("不及格!")


运行结果如下


你是CoderPig
你是一个男性
中等!


② 条件表达式


一个 简化版的if-else,一般在赋值时会用得比较多,比如把两个值中较大的那个赋值给一个变量。代码示例如下:


a,b = 1, 2
c = a if a > b else b
print('c = %d' % c)


运行结果如下


c = 2


2、循环


① for循环


当我们需要重复执行某行或某个代码块的时候可以使用循环。举个例子:在没有学习循环结构前,要你计算1加到100,你可能会写出这样的代码:result = 1 + 2 + 3 + 4 +… + 100 如果要你加到1000,或者10000呢?会非常繁琐吧,如果有了循环,你只需下面这样一段代码:


result = 0
for i in range(1,101):
    result += i
print(result)


运行结果如下


====== 输出1-100的求和结果 ====== 
5050


如果想加到1000,只需把101改成1001,加到10000,改成10001即可。非常简单,上面就是Python提供的两种循环中的「for循环」,还有另外一种「while循环」。


② while循环


把for循环的代码改成while循环,代码如下:


result = 0
pos = 1
while pos <= 100:
    result += pos
    pos += 1
else:
    print("====== 输出1-100的求和结果 ====== \n%d" % result)


运行结果如下


====== 输出1-100的求和结果 ====== 
5050


如果while后的判断条件返回值为True,执行循环体里的代码,否则退出循环。可以搭配else一起使用,当循环执行完后执行某段代。,可选,但不是必须的。for循环也可以使用else。


③ break,continue


Python为我们提供了两个循环控制的关键字「break」和「continue」。

break终止整个循环,使用代码示例如下:


print("输出1-100之间所有的奇数:")
for i in range(1, 101):
    if i % 2 == 0:
        if i % 20 == 0: print()
        continue
    else:
        print(i, end='\t')


运行结果如下


输出1-100之间所有的奇数:
1   3   5   7   9   11  13  15  17  19 
21  23  25  27  29  31  33  35  37  39 
41  43  45  47  49  51  53  55  57  59 
61  63  65  67  69  71  73  75  77  79 
81  83  85  87  89  91  93  95  97  99 


continue跳过本次循环,执行下一次循环,使用代码示例如下:


score_list = []
pos = 1
while pos < 21:
    score_list.append(random.randint(0, 100))
    pos += 1
print("随机生成的成绩列表:\n%s" % score_list)
for score in score_list:
    if score < 60:
        print("第一个不及格的成绩是:%s" % score)
        break


运行结果如下


随机生成的成绩列表:
[83, 55, 70, 20, 98, 26, 7, 55, 89, 27, 19, 31, 43, 89, 57, 16, 86, 77, 68, 50]
第一个不及格的成绩是:55


④ 循环嵌套


所谓的循环嵌套就是一个循环里面有另一个循环,举个最经典的例子,打印9*9乘法表,代码示例如下:


print("输出九九乘法表:")
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print('%d * %d = %d' % (i, j, i * j), end='\t')
        j += 1
    print()
    i += 1


运行结果如下


输出九九乘法表:
1 * 1 = 1 
2 * 1 = 2   2 * 2 = 4 
3 * 1 = 3   3 * 2 = 6   3 * 3 = 9 
4 * 1 = 4   4 * 2 = 8   4 * 3 = 12  4 * 4 = 16 
5 * 1 = 5   5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25 
6 * 1 = 6   6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36 
7 * 1 = 7   7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49 
8 * 1 = 8   8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64 
9 * 1 = 9   9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81 


⑤ 死循环


所谓的死循环就是因为程序的逻辑问题,导致循环代码块一直执行,循环的条件永远不会为False


导致无法跳出循环,所以编写代码的时候需要保证程序的的正确性。当然,死循环也不是一无是处的,


在执行一些轮询操作时经常用到,等满足某个条件再break退出这个循环。


相关文章
|
1月前
|
Python
python用户输入和while循环(四)
python用户输入和while循环(四)
26 1
|
1月前
|
安全 Python
python用户输入和while循环(二)
python用户输入和while循环(二)
19 0
|
1月前
|
Python
在Python中while循环
在Python中while循环
18 1
|
2月前
|
机器人 Java C++
python速成之循环分支结构学习
python速成之循环分支结构学习
37 1
|
1月前
|
Python
python用户输入和while循环(一)
python用户输入和while循环(一)
17 0
|
1月前
|
存储 索引 Python
python用户输入和while循环(五)
python用户输入和while循环(五)
17 0
|
1月前
|
Python
python用户输入和while循环(三)
python用户输入和while循环(三)
19 0
|
1月前
|
Python
Python-循环
Python-循环
19 1
|
1月前
|
存储 算法 索引
python用户输入和while循环(六)
python用户输入和while循环(六)
18 0
|
1月前
|
存储 索引 Python
python用户输入和while循环(七)
python用户输入和while循环(七)
16 0