【成人版python基础入门】第一章 循环与条件判断——让程序“活”起来

在这里插入图片描述

循环与条件判断——让程序“活”起来

在与 Python 的第一次浪漫相遇之后,我们已经学会了如何使用变量、数据类型、输入输出和基本运算符。现在,是时候让我们的程序“活”起来,让它能够像人一样思考和做出决策。这一篇教程将带你深入学习 Python 的循环和条件判断,这些基本概念是编写复杂程序的基石。通过风趣的例子和实际代码示例,我们将一起探索 Python 的逻辑世界。

条件判断:ifelifelse 语句

条件判断语句是程序中最有灵性的部分,它可以根据不同的条件执行不同的代码。这就像你在生活中根据不同的场景做出不同的决策一样。Python 中常用的条件判断语句有 ifelifelse

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 语句的补充,当所有 ifelif 条件都不满足时,执行 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])

代码详解

  1. 情书列表

    letters = [
        ["亲爱的,你是我心中的光。1", 1],
        ["亲爱的,你的笑容让我心醉。0", 0],
        ["亲爱的,愿我们的爱情永不止步。1", 1],
        ["亲爱的,我听从心灵的呼唤。0", 0],
        ["亲爱的,愿你永远幸福。1", 1]
    ]
    

    这里定义了一个二维列表 letters,每个元素是一个小列表,包含情书的内容和一个数字。数字为1表示这封信希望送你鲜花,数字为0表示这封信不希望送你鲜花。

  2. 筛选希望送鲜花的情书

    flower_letters = [letter for letter in letters if letter[1] == 1]
    

    用列表推导式筛选出 letters 列表中希望送你鲜花的情书。letter[1] 表示每个小列表中的第二个元素,即数字1或0。

  3. 输出筛选结果

    print("希望送你鲜花的情书有:")
    for letter in flower_letters:
        print(letter[0])
    

    通过 for 循环遍历 flower_letters 列表,并输出每封希望送你鲜花的情书的内容。

运行结果

假设你运行了上面的代码,你会看到如下输出:

希望送你鲜花的情书有:
亲爱的,你是我心中的光。1
亲爱的,愿我们的爱情永不止步。1
亲爱的,愿你永远幸福。1

摘要

通过这一篇的学习,你已经学会了如何使用 Python 的循环和条件判断,使程序能够像人一样思考和做出决策。这些基本概念是编写复杂程序的基石。在学习的过程中,我们通过风趣的例子和实际代码示例,让你更好地理解和应用这些知识。

  • 条件判断ifelifelse 语句让你的程序可以根据不同的条件执行不同的代码,就像你在生活中根据不同的情况做出不同的选择一样。
  • 循环for 循环和 while 循环分别适用于已知和未知次数的重复操作,让程序能够自动执行复杂任务。
  • 列表推导式:用一行代码实现复杂的操作,提高代码的简洁性和可读性。

通过这些基本概念的学习,你已经能够编写一些具有逻辑性的程序。希望这篇教程能为你与 Python 的旅途带来更多的乐趣和信心。让我们继续前行,探索更多的知识与技巧。🔬✨

posted @   爱上编程技术  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示