Python是一种完备、开放、通用的高级编程语言,它被广泛应用于人工智能、数据分析、网络爬虫、游戏开发等领域。在编写Python代码时,决策结构是一个应该掌握好的核心知识点。决策结构指的是在执行程序时,根据一定条件,执行相应的代码块。Python有多种类型的决策结构,如条件语句、循环语句等。掌握这些结构可以提高代码执行效率,实现更加灵活复杂的逻辑控制。
一、条件语句
条件语句是在指定条件成立时执行的语句。Python的条件语句包括:if语句、if...else语句、if...elif...else语句。
1、if语句
<pre><code>x = 15
if x > 10:
print("x 大于 10")</code></pre>
上面的代码中,仅有一个if语句,判断变量x是否大于10,如果条件成立,则执行下一条语句,打印出"x 大于 10"。
2、if...else语句
<pre><code>x = 5
if x > 10:
print("x 大于 10")
else:
print("x 小于等于 10")</code></pre>
上面的代码中,if语句和else语句共同组成了一个if...else语句。如果条件成立,则执行if语句,否则执行else语句。如果x大于10,则输出"x 大于 10";否则输出"x 小于等于 10"。
3、if...elif...else语句
<pre><code>x = 5
if x > 10:
print("x 大于 10")
elif x > 5:
print("x 大于 5,小于等于 10")
else:
print("x 小于等于 5")</code></pre>
上面的代码中,if语句、elif语句和else语句共同组成了一个if...elif...else语句。依次判断条件,如果第一个if条件成立,则输出"x 大于 10";如果第一个if条件不成立,且第一个elif条件成立,则输出"x 大于 5,小于等于 10";如果以上两个条件都不成立,则输出"x 小于等于 5"。
二、循环语句
循环语句是在满足一定条件下,重复执行某些代码块的语句,提高了程序的执行效率。Python的循环语句包括:while循环和for循环。
1、while循环
<pre><code>i = 1
while i < 6:
print(i)
i += 1</code></pre>
上面的代码中,while循环语句使用了一个计数器变量i。只要i小于6,就继续执行循环内的代码块,输出i的值。每次循环结束前,将i加1。
2、for循环
<pre><code>fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)</code></pre>
上面的代码中,for循环语句遍历水果列表fruits,将列表中的每一个元素依次赋值给变量x,并输出x的值。循环结束后,代码执行完毕。
三、优化代码逻辑控制
掌握条件语句和循环语句等逻辑结构后,我们可以利用这些结构实现代码逻辑的优化,提高代码执行效率和可读性。
1、在循环内部使用条件语句
<pre><code>for i in range(10):
if i % 2 == 0:
print(i)</code></pre>
上面的代码中,for循环遍历10个数字,如果数字除以2的余数为0,则输出该数字。通过在循环内部使用if语句,我们可以在执行for循环的同时实现更加灵活的逻辑控制。
2、使用列表推导式
<pre><code>numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)</code></pre>
上面的代码中,我们使用列表推导式生成一个包含numbers列表中偶数的新列表even_numbers。列表推导式是一种简化代码逻辑的方式,可以快速生成新的列表、集合和字典。
3、使用函数
<pre><code>def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
for i in range(100):
if is_prime(i):
print(i)</code></pre>
上面的代码中,我们定义了一个名为is_prime(n)的函数,用于判断一个数是否为素数,如果是,则返回True;否则返回False。在主程序中,我们使用for循环遍历100个数字,并通过调用is_prime(n)函数,输出数字列表中的素数。
通过优化代码逻辑控制,我们可以大大提高程序的效率和可读性,实现更加灵活复杂的逻辑操作。