Python练习题 | 关于循环控制

你喜欢什么水果?

写一个 for 循环来遍历一个列表,该列表包含不同的水果名称。

对于列表中的每一种水果,打印出一句格式为 ” I like [ 水果名称 ] ” 的句子。例如,如果列表是 [” apple “, ” banana “, ” cherry “],则输出应该是:

I like apple
I like banana
I like cherry

提示

创建列表:首先,你需要创建一个包含水果名称的列表,例如 fruits = [“apple”, “banana”, “cherry”]。

使用 for 循环:使用 for 循环来遍历这个列表。循环的基本结构是 for item in list:,其中 item 是循环中每次迭代的当前元素,而 list 就是你要遍历的列表。

打印语句:在循环体内,使用 print 函数打印出 “I like ” + item,这样可以拼接字符串并输出每个水果。

答案

# 创建一个包含水果名称的列表
fruits = ["apple", "banana", "cherry"]

# 使用 for 循环遍历列表
for fruit in fruits:
    # 打印出喜欢每种水果的语句
    print("I like " + fruit)

这段代码会遍历 fruits 列表中的每个元素,fruit 变量在每次迭代中都会被赋予列表中的一个水果名称。然后,print 语句会输出对应的句子。

while 循环

图片[1]-Python练习题 | 关于循环控制-不念博客

打印乘法表

使用while循环打印出一个乘法表。(这道题目就是每个学python的童鞋都会被要求的,哈哈哈)

具体来说,打印出 1 到 10 每个数字的乘法表(从 1×1 到 10×10)。输出应该是整洁的列,如:

1 x 1 = 1
1 x 2 = 2
...
10 x 10 = 100

这个练习将帮助你练习嵌套while循环(一个while循环内部包含另一个while循环)。

答案

# 用于控制外层循环的变量
i = 1

# 外层循环控制乘数1到10
while i <= 10:
    # 用于控制内层循环的变量
    j = 1
    # 内层循环控制被乘数1到10
    while j <= 10:
        print(f"{i} x {j} = {i*j}")
        j += 1
    # 换行打印下一个乘数的乘法表
    print("----------")
    i += 1

这个程序使用了嵌套的while循环。外层循环控制一个乘数(i),从1到10;

内层循环则针对每个i值控制另一个乘数(j),同样从1到10。每次内循环都会打印出一行乘法表。

break

密码破解模拟

假设你是一名安全专家,负责测试一个系统的密码强度。

你需要编写一个程序,模拟暴力破解密码的过程。

这个系统的密码是一个四位数字(例如,1234)。

你的程序将尝试不同的组合,从0000开始,直到找到正确的密码。

要求

使用 for 循环和 break 语句。循环遍历0000到9999之间的所有可能的密码组合。

当找到正确的密码时,使用 break 立即结束循环。打印出破解的密码和尝试的次数。

答案

# 假设的正确密码
correct_password = '1234'
attempts = 0

# 遍历所有可能的四位数密码
for i in range(10000):
    # 将数字转换为四位字符串
    password_attempt = str(i).zfill(4)
    attempts += 1

    # 检查密码尝试
    if password_attempt == correct_password:
        print(f"密码破解成功!密码是:{password_attempt}")
        print(f"尝试次数:{attempts}")
        break

这个练习题不仅有助于理解 break 的使用,还能让你对基本的安全概念有更直观的认识。

尽管这个示例很简单,但它揭示了为什么强密码(长且复杂)是保护数字账户安全的关键。

continue

过滤敏感词汇

假设你正在开发一个论坛的帖子审核系统。

你需要编写一个 Python 程序来检查一段文本,过滤掉列表中的敏感词汇。

这个列表包含一些不适宜的词汇,如 “错误”, “失败”, “糟糕”。

如果文本中的词汇在这个列表中,就跳过它,不显示;否则,显示这个词汇。

要求

使用 for 循环遍历一段给定的文本中的每个词汇。 使用 continue 语句在遇到敏感词汇时跳过该词,显示出未被过滤的词汇。 

这个练习题将帮助你理解如何在实际应用中使用 continue 来控制数据流。这是文本处理和内容审核中的一个常见用例。

答案

# 定义敏感词汇列表
sensitive_words = ["错误", "失败", "糟糕"]

# 给定的文本
text = "今天是个美好的日子,但也有可能出现错误或者失败,不过没关系,不要觉得糟糕。"

# 分割文本为单词列表
words = text.split()

# 遍历单词并过滤敏感词汇
for word in words:
    if word in sensitive_words:
        continue  # 遇到敏感词汇时跳过
    print(word, end=' ')

# 输出结果
# 今天是个美好的日子,但也有可能出现或者,不过没关系,不要觉得。

在这个程序中,我们首先定义了一个包含敏感词汇的列表。

然后,将给定的文本字符串分割成单词列表。

接着,我们遍历这些单词,并使用 continue 语句来跳过列表中的敏感词汇。最后,打印出未被过滤的词汇。

再说两句

在编程中,for 循环、while 循环以及 break 和 continue 语句是控制流程的基本工具。

for 循环适合于遍历集合或执行已知次数的迭代。

while 循环则用于当迭代次数未知或取决于条件时。

而 break 用于立即退出循环,continue 用于跳过当前循环的剩余部分,直接开始下一次迭代。

这些结构提供了灵活性和控制力,使程序能够根据不同条件和数据集执行不同的操作,是编程中实现复杂逻辑和数据处理不可或缺的部分。

© 版权声明
THE END