Python循环语句实战练习和循环嵌套详解

简介: Python循环语句实战练习和循环嵌套详解

循环语句


循环语句可以使指定的代码块重复执行指定的次数。在Python中,常见的循环语句有while循环和for循环。


while循环


while循环的基本语法如下:

while 条件表达式:
    代码块
else:
    代码块

执行流程:

1.执行while后的条件表达式,如果结果为True,则执行循环体(代码块);


2.执行完循环体后,再次对条件表达式进行判断;


3.如果条件表达式仍然为True,则继续执行循环体,以此类推,直到条件表达式为False;


4.如果循环有对应的else语句,则执行else后的代码块。


示例代码:

以下是一个使用while循环打印数字的示例代码:

i = 0
while i < 10:
    i += 1
    print(i, "hello")
else:
    print("else中的代码块")

在上述示例中,我们首先初始化变量i为0,然后通过i < 10作为条件表达式来控制循环的执行。在循环体中,我们对i进行自增操作,并打印出当前的值和"hello"。当i达到10时,条件表达式为False,循环终止。最后,由于循环有对应的else语句,所以会执行else中的代码块,打印出"else中的代码块"。

循环可以根据条件表达式的不同而具有灵活性。通过控制条件表达式和循环体内的代码,你可以实现各种不同的循环逻辑。在编写循环时,一定要注意循环的终止条件,避免出现死循环。同时,利用循环的特性可以简化重复的操作,提高代码的效率。

实战练习


练习1:求100以内所有的奇数之和


示例代码:

# 初始化变量sum,用于存储奇数之和
sum = 0
# 使用循环遍历100以内的所有数
for i in range(1, 101):
    # 判断当前数是否为奇数
    if i % 2 != 0:
        # 是奇数,则累加到sum中
        sum += i
print("100以内所有的奇数之和为:", sum)

练习2:求100以内所有7的倍数之和,以及个数


示例代码:

# 初始化变量sum和count,用于存储倍数之和和个数
sum = 0
count = 0
# 使用循环遍历100以内的所有数
for i in range(1, 101):
    # 判断当前数是否为7的倍数
    if i % 7 == 0:
        # 是7的倍数,则累加到sum中,并增加count的值
        sum += i
        count += 1
print("100以内所有的7的倍数之和为:", sum)
print("100以内所有的7的倍数个数为:", count)

练习3:求1000以内所有的水仙花数


水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:13 + 53 + 3**3 = 153)。


求1000以内所有的水仙花数


示例代码:

# 使用循环遍历1000以内的所有数
for num in range(100, 1000):
    # 获取百位、十位、个位数字
    hundreds_digit = num // 100
    tens_digit = (num // 10) % 10
    ones_digit = num % 10
    # 判断当前数是否为水仙花数
    if num == hundreds_digit ** 3 + tens_digit ** 3 + ones_digit ** 3:
        print(num)

练习4:获取用户输入的任意数,判断其是否是质数

# 获取用户输入的数字
num = int(input("请输入一个数字:"))
# 定义变量is_prime,用于判断是否为质数,默认为True
is_prime = True
# 判断是否为质数
if num > 1:
    for i in range(2, num):
        if num % i == 0:
            is_prime = False
            break
else:
    is_prime = False
# 输出结果
if is_prime:
    print(num, "是质数")
else:
    print(num, "不是质数")

循环嵌套


练习1:打印99乘法表

# 使用两层循环实现乘法表的打印
for i in range(1, 10):  # 控制行数
    for j in range(1, i + 1):  # 控制列数
        print(j, "*", i, "=", i * j, end=" ")
    print()

练习2:求100以内所有的质数

# 初始化变量count,用于计数质数的个数
count = 0
# 使用循环遍历100以内的所有数
for num in range(2, 101):
    # 判断是否为质数
    is_prime = True
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            is_prime = False
            break
    # 如果是质数,则打印输出并增加计数器的值
    if is_prime:
        print(num, end=" ")
        count += 1
# 输出质数的个数
print("\n100以内所有的质数个数为:", count)

小游戏《唐僧大战白骨精》

1、身份选择
    ① 显示提示信息
        欢迎光临 xxx 游戏!
        请选择你的身份:
            1.xxx
            2.xxx
        请选择:x
    ② 根据用户选择来分配身份(显示不同的提示消息)  
        1.---
        2.---
        3.---  
2、游戏进行
    ① 显示玩家的基本信息(攻击力 生命值)
    ② 显示玩家可以进行的操作:
        1、练级
            - 提升玩家的攻击力和生命值
        2、打BOSS
            - 玩家对BOSS进行攻击,玩家要攻击BOSS,BOSS对玩家进行反击
            - 计算BOSS是否被玩家消灭,玩家是否被BOSS消灭
            - 游戏结束
        3、逃跑
            - 退出游戏,显示提示信息,游戏结束!

示例代码:

import random
# 显示身份选择提示信息
print("欢迎光临《唐僧大战白骨精》游戏!")
print("请选择你的身份:")
print("1. 唐僧")
print("2. 白骨精")
# 获取用户选择的身份
choice = input("请选择(输入数字序号):")
if choice == "1":
    # 唐僧身份
    print("你选择了唐僧身份,祝你成功取经!")
    # 初始化玩家的攻击力和生命值
    player_attack = 10
    player_hp = 100
    while True:
        # 显示玩家的基本信息
        print("【玩家信息】")
        print("攻击力:", player_attack)
        print("生命值:", player_hp)
        # 显示玩家可以进行的操作
        print("请选择你要进行的操作:")
        print("1. 练级")
        print("2. 打BOSS")
        print("3. 逃跑")
        # 获取用户选择的操作
        choice = input("请选择(输入数字序号):")
        if choice == "1":
            # 练级操作,提升玩家的攻击力和生命值
            player_attack += 5
            player_hp += 20
            print("恭喜你,成功练级!")
        elif choice == "2":
            # 打BOSS操作
            boss_attack = random.randint(10, 30)
            boss_hp = random.randint(100, 200)
            print("【BOSS信息】")
            print("攻击力:", boss_attack)
            print("生命值:", boss_hp)
            print("战斗开始!")
            while True:
                # 玩家攻击BOSS
                boss_hp -= player_attack
                print("你对BOSS造成了", player_attack, "点伤害")
                # 判断是否击败BOSS
                if boss_hp <= 0:
                    print("恭喜你,成功击败BOSS!")
                    break
                # BOSS反击玩家
                player_hp -= boss_attack
                print("BOSS对你造成了", boss_attack, "点伤害")
                # 判断是否被BOSS消灭
                if player_hp <= 0:
                    print("很遗憾,你被BOSS消灭了!")
                    break
        elif choice == "3":
            # 逃跑操作,退出游戏
            print("你选择了逃跑,游戏结束!")
            break
        else:
            print("无效操作,请重新选择!")
elif choice == "2":
    # 白骨精身份
    print("你选择了白骨精身份,准备吃唐僧肉!")
    # 初始化玩家的攻击力和生命值
    player_attack = 20
    player_hp = 80
    while True:
        # 显示玩家的基本信息
        print("【玩家信息】")
        print("攻击力:", player_attack)
        print("生命值:", player_hp)
        # 显示玩家可以进行的操作
        print("请选择你要进行的操作:")
        print("1. 练级")
        print("2. 打唐僧")
        print("3. 逃跑")
        # 获取用户选择的操作
        choice = input("请选择(输入数字序号):")
        if choice == "1":
            # 练级操作,提升玩家的攻击力和生命值
            player_attack += 10
            player_hp += 10
            print("恭喜你,成功练级!")
        elif choice == "2":
            # 打唐僧操作
            tangseng_attack = random.randint(5, 15)
            tangseng_hp = random.randint(50, 150)
            print("【唐僧信息】")
            print("攻击力:", tangseng_attack)
            print("生命值:", tangseng_hp)
            print("战斗开始!")
            while True:
                # 玩家攻击唐僧
                tangseng_hp -= player_attack
                print("你对唐僧造成了", player_attack, "点伤害")
                # 判断是否击败唐僧
                if tangseng_hp <= 0:
                    print("恭喜你,成功吃到了唐僧肉!")
                    break
                # 唐僧反击玩家
                player_hp -= tangseng_attack
                print("唐僧对你造成了", tangseng_attack, "点伤害")
                # 判断是否被唐僧消灭
                if player_hp <= 0:
                    print("很遗憾,你被唐僧打败了!")
                    break
        elif choice == "3":
            # 逃跑操作,退出游戏
            print("你选择了逃跑,游戏结束!")
            break
        else:
            print("无效操作,请重新选择!")
else:
    print("无效选择,游戏结束!")

总结


循环语句是编程中一种重要的控制结构,可以使指定的代码块重复执行多次。在Python中,常见的循环语句有while循环和for循环。


while循环

while循环的基本语法为:

while 条件表达式:
    代码块
else:
    代码块

执行流程:

1.执行while后的条件表达式,如果结果为True,则执行循环体(代码块);


2.执行完循环体后,再次对条件表达式进行判断;


3.如果条件表达式仍然为True,则继续执行循环体,以此类推,直到条件表达式为False;


4.如果循环有对应的else语句,则执行else后的代码块。


循环的注意事项:

 ▪避免死循环:确保在循环内部有能够改变条件表达式的代码,否则会陷入无限循环。


 ▪初始化和更新表达式:需要在循环外部先初始化变量,并在循环体内部对变量进行更新操     作,以控制循环的执行。


利用break语句:可以在循环内部使用break语句来提前终止循环。


示例代码:

i = 0
while i < 10:
    i += 1
    print(i, "hello")
else:
    print("else中的代码块")

在上述示例中,我们使用while循环打印数字1到10,并在每个数字后面输出"hello"。当i达到10时,条件表达式i < 10为False,循环终止。最后,由于循环有对应的else语句,所以会执行else中的代码块。

while循环的灵活性:可以通过控制条件表达式和循环体内的代码,实现不同的循环逻辑。利用循环的特性可以简化重复的操作,提高代码的效率。

循环是编程中常用的控制结构之一,掌握循环语句的使用可以让代码更加灵活和高效。但也要注意循环的终止条件和避免死循环的情况,以确保程序的正确执行。

相关文章
|
28天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
28天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
46 10
|
2月前
|
算法 Unix 数据库
Python编程入门:从基础到实战
本篇文章将带你进入Python编程的奇妙世界。我们将从最基础的概念开始,逐步深入,最后通过一个实际的项目案例,让你真正体验到Python编程的乐趣和实用性。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你提供有价值的信息和知识。让我们一起探索Python的世界吧!
|
2月前
|
并行计算 调度 开发者
探索Python中的异步编程:从基础到实战
在Python的世界里,异步编程是一种让程序运行更加高效、响应更快的技术。本文不仅会介绍异步编程的基本概念和原理,还将通过具体代码示例展示如何在Python中实现异步操作。无论你是初学者还是有经验的开发者,都能从中获益,了解如何运用这一技术优化你的项目。
|
2月前
|
数据处理 Python
探索Python中的异步编程:从基础到实战
在Python的世界中,“速度”不仅是赛车手的追求。本文将带你领略Python异步编程的魅力,从原理到实践,我们不单单是看代码,更通过实例感受它的威力。你将学会如何用更少的服务器资源做更多的事,就像是在厨房里同时烹饪多道菜而不让任何一道烧焦。准备好了吗?让我们开始这场技术烹饪之旅。
|
2月前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
29 2
|
2月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
34 2
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
2月前
|
Python
Python 中,循环判断
Python 中,循环判断
54 1
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。