猪行天下之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退出这个循环。


相关文章
|
4月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
56 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
4月前
|
Python
揭秘Python编程核心:一篇文章带你深入掌握for循环与while循环的奥秘!
【8月更文挑战第21天】Python中的循环结构——for循环与while循环,是编程的基础。for循环擅长遍历序列或集合中的元素,如列表或字符串;而while循环则在未知循环次数时特别有用,基于某个条件持续执行。本文通过实例展示两种循环的应用场景,比如用for循环计算数字平方和用while循环计算阶乘。此外,还通过案例分析比较了两者在处理用户输入任务时的不同优势,强调了根据实际需求选择合适循环的重要性。
55 0
|
26天前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
22 2
|
28天前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
29 2
|
29天前
|
Python
Python 中,循环判断
Python 中,循环判断
48 1
|
1月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
32 4
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
69 5
|
2月前
|
Python
Python 循环语句的高级应用与深度探索
本文深入探讨了Python中循环语句的高级应用,包括`for`循环遍历字典获取键值、同步遍历多个序列,以及`while`循环结合条件判断和异常处理。通过嵌套循环实现了矩阵乘法,并介绍了如何优化循环以提升程序性能。示例代码展示了这些技术的实际应用。
53 15
|
2月前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
3月前
|
Python
Python 中如何循环某一特定列的所有行数据
Python 中如何循环某一特定列的所有行数据
36 2