Python的流程控制 — —梳理

流程控制每种语言都是相形见绌滴,这里写个大概,有遗忘可以自行补回

Python的流程控制

1.条件控制语句

1.1if…else语句

对于条件表达式,Python指定:

  • 非0和非空值为 True

  • 0或Null为 False

catalyst = input("Adding catalyst?(y/n)")

if catalyst == 'y':
    print("The speed Grade is rapod.")
else:
    print("The speed Grade is normal.")
Run:
Adding catalyst?(y/n)y
The speed Grade is rapod.

1.2elif语句

在这里插入图片描述

mark = int(input("Enter the mark:"))
if mark<60:
    print("the grade is fail")
elif mark<75:
    print("the grade is pass")
elif mark<85:
    print("the grade is good")
elif mark<=100:
    print("the grade is excellent")
else:
    print("The mark is invalid")

Run:
Enter thr mark:91
the grade is excellent

2.循环控制语句

Python提供了while循环和for循环以及break,continue等循环控制语句,循环语句执行的一般形式:
在这里插入图片描述

2.1while循环语句

具体语法:
while 条件:
	执行语句
	
Example:
while 0<1:
    print("请按红色方块")

Run:
请按红色方块
请按红色方块
请按红色方块
请按红色方块
请按红色方块	#没错,死循环了,请按红色方块。

while循环中的执行语句会一直循环执行,直到条件的值为假时停止。

2.2for循环语句

for iter_var in iterable:
	statement(s) 

解释:for 循环依次遍历可迭代对象(例如常见的字符串、序列或是元组)中的所用元素,就是将iter_var设置为iterable中的当前元素,当iterable中的所有的条目(例如序列中的项)都处理过后结束循环。

再解释:第一眼看的时候真的有些乱,对我而言。然后梳理了一下,简单来说就是

for A in B:
	执行语句
	#意思是当A满足B的条件时,就会执行语句,不满足就会退出。
Example:
for letter in "abc":
	print("我是",letter)

Run:
我是 a
我是 b
我是 c

这里的B是可以做更多的扩展的,像用range()函数,先建立一个序列,然后再套一个len()返回一个长度或者项目个数,这样就更好的执行语句,就像一个列表一样执行,当列表全部执行完,for语句就结束。
example
for A in range(len(B))
---- 语句

2.3break语句

终止当前的循环,从循环中跳出执行程序中的下一条语句
和C语言一样,打破循环的常用方法,只要有循环遇到break就会终止循环。

2.4continue语句

跳过当前的循环块,继续该循环的下一次迭代,这里和break不一样,一个是跳到循环语句的下一条语句,一个是跳出循环块,继续循环语句,这里需要注意。

3.趣味练习

百钱买百鸡
是我国古代数学家张丘建提出的一个数学问题,它的内容是鸡翁(公鸡)一值钱五,鸡母(母鸡)一值钱三,鸡雏三值钱一(一钱三个)。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

  • 思路:
    程序采用枚举法,即逐个考察所有可能的买法,最后留下符合题意的买法。使用双重for循环来实现枚举法。首先固定x值(公鸡个数),再固定y值(母鸡个数),依照题意得出z的值(雏鸡个数)并判断当前xyz值是否符合百钱买百鸡,符合输出,不符合只更换y值再次求z值并判断,直到当前x值下的所有yz值全都不符合时,更换x值再次进入循环,直到所有x值都尝试过后,退出。因为买鸡都是整只的,因此在程序中只需考虑整数情况。
# 设鸡公为x,鸡母为y,鸡雏为z
# x+y+z=100.z=100-x-y
x_max = int(100/5)
y_max = int(100/3)
for x in range(x_max):
    for y in range(y_max):
        z=100 - x - y
        if(z%3==0)and(5*x+3*y+z/3 == 100):
            print('公鸡{0},母鸡{1},小鸡{2}'.format(x,y,z))
Run:
公鸡0,母鸡25,小鸡75
公鸡4,母鸡18,小鸡78
公鸡8,母鸡11,小鸡81
公鸡12,母鸡4,小鸡84

PS:
学会了常用的
条件控制语句和循环语句,
就可以解决一些繁琐的
或者是一些需要暴力计算的问题。

发布了5 篇原创文章 · 获赞 27 · 访问量 5058

猜你喜欢

转载自blog.csdn.net/weixin_43417682/article/details/104276289
今日推荐