python小记-for与while

这篇具有很好参考价值的文章主要介绍了python小记-for与while。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

for循环与while循环的区别

for循环和while循环是两种常见的循环结构,用于重复执行一段代码块,但它们在使用场景和语法结构上有一些区别:

  1. 使用场景:

    • for循环:适用于在已知循环次数的情况下进行循环。for循环通常用于遍历集合类型(如列表、元组、字典等)中的元素,或者在指定范围内循环执行代码。
    • while循环:适用于在条件满足的情况下持续循环,直到条件不满足时终止。while循环通常用于不确定循环次数的情况,根据条件来控制循环的执行。
  2. 语法结构:

    • for循环:通常使用在Python中的for-in循环结构,可以遍历可迭代对象(如列表、字符串、字典等)的元素,或者通过range函数生成的数字序列。
    • while循环:使用while关键字加上一个条件表达式,当条件表达式为True时,会一直执行循环体内的代码块,直到条件为False时才停止循环。
  3. 循环条件:

    • for循环:在for循环中,循环次数是由可迭代对象的元素个数决定的,循环会自动遍历所有元素。
    • while循环:在while循环中,循环次数由条件表达式的结果决定,只有在条件为True时才会执行循环体内的代码。

示例:

# for循环示例:遍历列表中的元素
numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print(num)

# while循环示例:计算1到10的和
total = 0
count = 1
while count <= 10:
    total += count
    count += 1
print(total)

总结:for循环适用于已知循环次数的情况,主要用于遍历可迭代对象的元素;而while循环适用于不确定循环次数的情况,主要用于根据条件来控制循环的执行。根据具体问题和需求,选择合适的循环结构可以使代码更加简洁和高效。

示例:使用for循环和while循环计算给定数字n的阶乘。

阶乘是一个正整数n的乘积,记为n!,定义如下:
n! = n * (n-1) * (n-2) * … * 2 * 1

我们将编写两个函数来分别使用for循环和while循环计算n的阶乘。

使用for循环计算n的阶乘:

def factorial_with_for(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result

# 示例
n = 5
print(factorial_with_for(n))  # Output: 120

使用while循环计算n的阶乘:

def factorial_with_while(n):
    result = 1
    while n > 0:
        result *= n
        n -= 1
    return result

# 示例
n = 5
print(factorial_with_while(n))  # Output: 120

在这个例子中,我们分别用for循环和while循环实现了计算n的阶乘的函数。使用for循环时,我们利用range函数生成从1到n的序列,依次累乘得到阶乘结果。而使用while循环时,我们设置一个计数器n,并在循环体内将n不断减1,并累乘得到阶乘结果,直到n为0时结束循环。

这个例子展示了for循环和while循环在解决问题时的不同用法,for循环适用于已知循环次数的情况(如遍历序列),而while循环适用于根据条件不断执行的情况(如计数器变化)。在实际编程中,根据具体需求选择合适的循环结构可以使代码更加简洁和高效。

示例:冒泡排序算法来举例说明for循环和while循环的区别。

冒泡排序是一种简单的排序算法,它重复地遍历待排序数组,比较相邻的元素,如果它们的顺序错误就交换它们,直到整个数组排序完成。

示例:使用for循环和while循环实现冒泡排序算法。

使用for循环实现冒泡排序:

def bubble_sort_with_for(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]

# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort_with_for(arr)
print(arr)  # Output: [11, 12, 22, 25, 34, 64, 90]

使用while循环实现冒泡排序:

def bubble_sort_with_while(arr):
    n = len(arr)
    i = 0
    while i < n:
        j = 0
        while j < n-i-1:
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
            j += 1
        i += 1

# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort_with_while(arr)
print(arr)  # Output: [11, 12, 22, 25, 34, 64, 90]

在这个例子中,我们分别用for循环和while循环实现了冒泡排序算法。两种实现方式的结果都是对给定数组进行排序。for循环使用两层嵌套循环遍历数组元素,而while循环通过设置计数器i和j来实现相同的遍历操作。

这个例子展示了在实现相同算法时,for循环和while循环的不同用法。for循环通常适用于已知循环次数的情况,而while循环适用于根据条件不断执行的情况。根据具体需求选择合适的循环结构可以使代码更加简洁和高效。

在上述冒泡排序算法的例子中,for循环和while循环的实现都能正确地对给定数组进行排序。它们的优劣取决于具体的应用场景和代码的可读性。

优劣对比:

  1. 可读性:

    • for循环:使用for循环时,我们通过使用for关键字和range()函数来表示循环的次数,代码结构较为清晰,能够直观地看出循环次数和遍历范围。
    • while循环:使用while循环时,需要手动设置计数器变量,并在循环体内更新计数器,可能需要更多的代码来实现相同的功能,可读性稍差。
  2. 代码复杂度:

    • for循环:for循环使用range()函数生成遍历范围,可以减少代码复杂度,特别适合处理已知循环次数的情况,算法的时间复杂度为O(n^2)。
    • while循环:while循环通过手动更新计数器来实现循环次数的控制,代码可能会稍显繁琐,但适用于不确定循环次数的情况,算法的时间复杂度为O(n^2)。
  3. 内存占用:

    • for循环:使用range()函数生成遍历范围,每次迭代都会创建一个新的range对象,可能会占用更多的内存空间。
    • while循环:通过手动设置计数器变量,不需要生成额外的range对象,内存占用较低。

总结:在上述冒泡排序算法中,for循环和while循环实现的结果相同,但for循环在代码可读性和代码复杂度上相对更优。在大多数情况下,for循环更适合处理已知循环次数的情况,而while循环适用于根据条件不断执行的情况。在实际编程中,根据具体需求和算法特点来选择合适的循环结构,以便使代码更加简洁、高效和易于理解。文章来源地址https://www.toymoban.com/news/detail-602187.html

到了这里,关于python小记-for与while的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python循环语句(while循环、for循环)

    Python循环语句主要有while循环和for循环,Python 循环语句的控制结构图如下所示: Python中的while语句形式一般是: while 判断语句(condition): 执行语句(statements) while循环的执行图如下: 在Python需要注意冒号的格式和缩进,比如你在Python中使用冒号只能使用英文格式的双引号\\\"

    2024年02月06日
    浏览(67)
  • 【Python】列表 List ⑦ ( 列表遍历 | 使用 while 循环遍历列表 | 使用 for 循环遍历列表 | while 循环 与 for 循环对比 )

    将 列表 容器 中的数据元素 , 依次逐个取出进行处理的操作 , 称为 列表的遍历 ; 使用 while 循环 遍历 列表容器 : 元素访问方式 : 使用 下标索引 访问 列表中的元素 ; 循环控制 : 循环控制变量 : 用于指示当前循环的 下标索引 ; 循环条件 : 设置为 循环控制变量 ( 下标索引 ) 列表

    2024年02月06日
    浏览(61)
  • 【Python基础】- for/while循环语句(文末送书)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 Python循环语句 while循环 无限循环 while 循环使用 else 语句 for 循环 range对象 列表推导

    2024年02月08日
    浏览(58)
  • 《Python入门到精通》循环语句 while循环,for循环

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 while

    2024年02月14日
    浏览(58)
  • Python条件控制和循环语句(if while for )

    同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。 while+else whlie+break break跳出本层循环的含义 标志位的使用 while+continue 死循环: 程序中坚决不能出现死循环 for循环不会出现死循环,它的循环条件不是我们来控制,是人家内部已经控制好了 for循环和while循环都是

    2024年02月11日
    浏览(48)
  • Python的流程控制语句,while循环和嵌套、for循环、break和continue、冒泡排序

    流程控制语句是用于控制程序的执行顺序的语句。在Python中,主要有while循环和嵌套、for循环、break和continue语句、冒泡排序等。 while循环和嵌套: while循环用于多次执行一段代码,直到条件不再满足为止。嵌套是将一个while循环放在另一个while循环内部,实现多层循环。 示例

    2024年01月18日
    浏览(100)
  • Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

    在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for 循环的基本语法如下: 其中, 变量 表示每次循环中取出的一个元素, 可迭代对象 表示被遍历的对象。下面是一个 for 循环的例子: 输出结果为: 代码中, fruits 是一个列表, fruit 是当前循

    2024年02月10日
    浏览(61)
  • 循环(while do...while for)介绍

    1.while循环 while循环是先判断后执行 while循环一般都会有: 循环初始值, 循环条件 和 循环变量增量(或者减量) 2.do…while do…while先执行一次,再进行判断 do–while 和 while的区别 注意: 1, do-while和while比较类似, 也有表达式和执行代码 2, do-while和while的区别在于判断条件的先后不一样

    2024年02月09日
    浏览(40)
  • 深入理解 Java 循环结构:while、do while、for 和 for-each 循环

    循环可以执行一个代码块,只要达到指定的条件。循环很方便,因为它们节省时间,减少错误,并使代码更易读。 while 循环会循环执行一个代码块,只要指定的条件为真: 语法 在下面的示例中,只要变量(i)小于 5,循环中的代码将一遍又一遍地运行: 示例 注意:不要忘

    2024年02月19日
    浏览(39)
  • 【C# 基础精讲】循环语句:for、while、do-while

    循环语句是C#编程中用于重复执行一段代码块的关键结构。C#支持 for 、 while 和 do-while 三种常见的循环语句,它们允许根据条件来控制代码块的重复执行。在本文中,我们将详细介绍这三种循环语句的语法和使用方法。 for 循环是一种常见的循环结构,用于在给定条件下重复执

    2024年02月13日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包