【成人版python基础入门】第一章 循环与条件判断——让程序“活”起来
循环与条件判断——让程序“活”起来
在与 Python 的第一次浪漫相遇之后,我们已经学会了如何使用变量、数据类型、输入输出和基本运算符。现在,是时候让我们的程序“活”起来,让它能够像人一样思考和做出决策。这一篇教程将带你深入学习 Python 的循环和条件判断,这些基本概念是编写复杂程序的基石。通过风趣的例子和实际代码示例,我们将一起探索 Python 的逻辑世界。
条件判断:if
、elif
、else
语句
条件判断语句是程序中最有灵性的部分,它可以根据不同的条件执行不同的代码。这就像你在生活中根据不同的场景做出不同的决策一样。Python 中常用的条件判断语句有 if
、elif
和 else
。
if
语句
if
语句是最基本的条件判断语句,当某个条件为真时,执行特定的代码块。
age = 18
if age >= 18:
print("你已经成年了,可以投票了!")
想象一下,你在18岁生日那天,敲了敲自己房间的门,如果门开了,说明你已经成年,可以去做一些成年人才能做的事情,比如投票。
elif
语句
elif
语句是“else if”的缩写,当多个条件需要依次判断时,可以使用 elif
语句。它就像你在选择菜单时,一步步排除不喜欢的菜肴,直到找到你满意的那道菜。
age = 16
if age >= 18:
print("你已经成年了,可以投票了!")
elif age >= 16:
print("再等两年,你就可以投票了!")
else:
print("你还太小,不能投票。")
想象一下,你在16岁生日那天,敲了敲自己房间的门,如果门没有开,你就试着敲另一扇门,如果另一扇门也没有开,你就只能自己去玩了。
else
语句
else
语句是 if
语句的补充,当所有 if
和 elif
条件都不满足时,执行 else
代码块。它就像你在选择菜单时,如果所有菜都不喜欢,就只能点那个默认的了。
age = 15
if age >= 18:
print("你已经成年了,可以投票了!")
elif age >= 16:
print("再等两年,你就可以投票了!")
else:
print("你还太小,不能投票。")
想象一下,你在15岁生日那天,敲了敲所有可能的门,发现完全没有合适的,只好去玩自己的玩具。
实际应用例子:判断一个数是正数、负数还是零
number = float(input("请输入一个数字: "))
if number > 0:
print("这是一个正数。")
elif number < 0:
print("这是一个负数。")
else:
print("这是零。")
在这个例子中,程序会判断用户输入的数字是正数、负数还是零,并输出相应的提示。
循环:for
循环 vs while
循环
循环是程序中用来重复执行特定代码块的结构。Python 中常用的循环有 for
循环和 while
循环。它们各有应用场景,选择合适的循环可以使代码更简洁、更高效。
for
循环
for
循环适用于已知循环次数的情况。它通常用于遍历列表、元组、字典等可迭代对象。
for i in range(5):
print(i)
这段代码会输出0到4的数字。range(5)
生成一个从0到4的数字序列。
while
循环
while
循环适用于未知循环次数的情况。它会根据条件的真假来决定是否继续执行循环。
count = 0
while count < 5:
print(count)
count += 1
这段代码也会输出0到4的数字。count
初始值为0,每次循环 count
增加1,直到 count
不再小于5时,循环结束。
for
循环 vs while
循环
for
循环适用场景
-
遍历可迭代对象:
names = ["Alice", "Bob", "Charlie"] for name in names: print("你好," + name + "!")
这段代码会依次输出“你好,Alice!”、“你好,Bob!”和“你好,Charlie!”。
-
已知次数的重复操作:
for i in range(10): print("我正在学习 Python,第 " + str(i+1) + " 天。")
这段代码会输出10句“我正在学习 Python,第 n 天”,其中 n 从1到10。
while
循环适用场景
-
未知次数的重复操作:
temperature = 40 while temperature > 30: print("天气真热,再等一会儿吧。") temperature -= 1 # 降温1度 print("终于凉快了,可以出去玩了!")
这段代码会不断输出“天气真热,再等一会儿吧”,直到
temperature
降到30度以下。 -
用户输入的循环:
while True: guess = input("猜一个1到10的数字: ") if guess == "7": print("猜对了,你真聪明!") break # 猜对了,结束循环 else: print("猜错了,再试一次吧。")
这段代码会不断让用户猜测数字,直到猜对为止。
实用小技巧:列表推导式
列表推导式是 Python 中一个非常优雅的特性,它可以让你用一行代码实现复杂的操作。它就像是你在厨房里用一台多功能料理机,几分钟内就能做出一桌子的菜。
列表推导式的基本语法
new_list = [expression for item in iterable if condition]
expression
:生成新列表中每个元素的表达式。item
:可迭代对象中的当前元素。iterable
:可迭代对象,比如列表、元组、字符串等。if condition
:可选的条件语句,用于过滤元素。
实际应用例子:筛选偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # 输出:[2, 4, 6, 8, 10]
这段代码用列表推导式生成一个新的列表 even_numbers
,其中包含 numbers
列表中的所有偶数。
实际应用例子:平方数
numbers = [1, 2, 3, 4, 5]
squares = [num ** 2 for num in numbers]
print(squares) # 输出:[1, 4, 9, 16, 25]
这段代码用列表推导式生成一个新的列表 squares
,其中包含 numbers
列表中每个数字的平方。
代码样例:自动筛选希望送你鲜花的情书 vs 不希望的信件
假设你收到了一堆情书,每封情书的结尾都写了一个数字。数字为1表示这封信希望送你鲜花,数字为0表示这封信不希望送你鲜花。我们来编写一个程序,自动筛选出希望送你鲜花的情书,并记录下来。
代码实现
# 假设情书列表
letters = [
["亲爱的,你是我心中的光。1", 1],
["亲爱的,你的笑容让我心醉。0", 0],
["亲爱的,愿我们的爱情永不止步。1", 1],
["亲爱的,我听从心灵的呼唤。0", 0],
["亲爱的,愿你永远幸福。1", 1]
]
# 筛选出希望送你鲜花的情书
flower_letters = [letter for letter in letters if letter[1] == 1]
# 输出筛选结果
print("希望送你鲜花的情书有:")
for letter in flower_letters:
print(letter[0])
代码详解
-
情书列表:
letters = [ ["亲爱的,你是我心中的光。1", 1], ["亲爱的,你的笑容让我心醉。0", 0], ["亲爱的,愿我们的爱情永不止步。1", 1], ["亲爱的,我听从心灵的呼唤。0", 0], ["亲爱的,愿你永远幸福。1", 1] ]
这里定义了一个二维列表
letters
,每个元素是一个小列表,包含情书的内容和一个数字。数字为1表示这封信希望送你鲜花,数字为0表示这封信不希望送你鲜花。 -
筛选希望送鲜花的情书:
flower_letters = [letter for letter in letters if letter[1] == 1]
用列表推导式筛选出
letters
列表中希望送你鲜花的情书。letter[1]
表示每个小列表中的第二个元素,即数字1或0。 -
输出筛选结果:
print("希望送你鲜花的情书有:") for letter in flower_letters: print(letter[0])
通过
for
循环遍历flower_letters
列表,并输出每封希望送你鲜花的情书的内容。
运行结果
假设你运行了上面的代码,你会看到如下输出:
希望送你鲜花的情书有:
亲爱的,你是我心中的光。1
亲爱的,愿我们的爱情永不止步。1
亲爱的,愿你永远幸福。1
摘要
通过这一篇的学习,你已经学会了如何使用 Python 的循环和条件判断,使程序能够像人一样思考和做出决策。这些基本概念是编写复杂程序的基石。在学习的过程中,我们通过风趣的例子和实际代码示例,让你更好地理解和应用这些知识。
- 条件判断:
if
、elif
和else
语句让你的程序可以根据不同的条件执行不同的代码,就像你在生活中根据不同的情况做出不同的选择一样。 - 循环:
for
循环和while
循环分别适用于已知和未知次数的重复操作,让程序能够自动执行复杂任务。 - 列表推导式:用一行代码实现复杂的操作,提高代码的简洁性和可读性。
通过这些基本概念的学习,你已经能够编写一些具有逻辑性的程序。希望这篇教程能为你与 Python 的旅途带来更多的乐趣和信心。让我们继续前行,探索更多的知识与技巧。🔬✨
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)