Python循环语句For Range用法示例详解

 更新时间:2023年09月21日 10:26:38   作者:技术老男孩  
这篇文章主要为大家介绍了Python循环语句For Range用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、range 函数概念

range 函数是一个内建函数,它的返回值是一个半闭半开范围内的整数。for 循环常与range函数一起使用,range函数为循环提供条件。

二、语法结构

range(start, end,step=1)

案例

常规使用:

[root@localhost day02]# python3
>>> tmp = range(1, 10)
>>> tmp
range(1, 10)
>>> len(tmp)
9
>>> list(tmp)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> tmp01 = range(5)
>>> tmp01
range(0, 5)
>>> list(tmp01)
[0, 1, 2, 3, 4]

因为 range 函数的使用和切片比较类似,所以同样具有切片的使用特性:

[root@localhost day02]# python3
>>> tmp = range(1, 10, 2)
>>> list(tmp)
[1, 3, 5, 7, 9]

与 for 循环一起使用

可以把 range 函数当成购物车,购物车中的商品是一个个范围内的数字,要想拿出里面的数字,就得遍历,所以 range 可以和 for 连用,可以控制循环次数。

控制for循环的次数

[root@localhost day02]# vim demo07_for.py  # demo07_for.py是文件名,可以修改
for i in range(3):
 print("第" + str(i) + "次:hello world")
  • 如果直接打印 "hello world":
[root@localhost day02]# vim demo07_for.py  # demo07_for.py是文件名,可以修改
for i in range(3):
 print("hello world")
  • 这里的变量 i 只是为了语法,在案例中没有实际意义,不写变量在语法层面会报错,这里的 range 只为控制循环次数。

三、列表解析

它是一个非常有用、简单、灵活的工具,可以用来动态地创建列表,注意:它只是一个简写方式,不是新知识点

语法结构

案例:生成一个元素为 1~10 的列表

for 循环方式:语法相对复杂,但是好理解

[root@localhost day02]# vim demo08_for.py  # demo08_for.py是文件名,可以修改
list01 = []
for i in range(1, 11):
 list01.append(i)  # [1, 2, 3, 4, 5 ,6 ,7 ,8, 9, 10]
print(list01)

列表解析式

[root@localhost day02]# vim demo08_for.py  # demo08_for.py是文件名,可以修改
list01 = [i for i in range(1, 11)]

列表解析式相对于for循环,只是变了一种结构,核心还是for循环,所以我们只需要关心语法即可。

练习:将刚才的 list01 列表的基础上对其中的每个元素加 1

[root@localhost day02]# vim demo08_for.py  # demo08_for.py是文件名,可以修改
list01 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list01 = [i+1 for i in list01]
print(list01)

练习:斐波那契数列

  • 斐波那契数列就是某一个数,总是前两个数之和,比如 0,1,1,2,3,5,8
  • 使用for循环和range函数编写一个程序,计算有10个数字的斐波那契数列
  • 改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列

版本一

[root@localhost day02]# vim test05_for.py  # test05_for.py是文件名,可以修改
fib = [0,1]  # 定义列表,指定斐波那契数列的初始两个值
for i in  range(8):  # for循环执行8次,列表fib中的元素个数变为10【初始2个 + 新增的8个】
 fib.append(fib[-1] + fib[-2])  # 列表追加,每次都是最后一个元素和倒数第二个元素相加,产生新的元素
print(fib)  # 打印列表fib

版本二:编写可以指定长度的斐波那契数列程序

[root@localhost day02]# vim test05_for.py  # test05_for.py是文件名,可以修改
fib = [0,1]  # 定义列表,指定斐波那契数列的初始两个值
n = int(input('长度: '))  # 定义变量n, 此变量为用户要看到的列表fib中的元素个数
# for循环执行n-2次,for循环执行多少次,列表fib会新增多少个元素
# 因为列表fib本身有两个初始值,所以要产生n-2个数字
for i in  range(n - 2): 
 fib.append(fib[-1] + fib[-2]) 
print(fib)

以上就是Python循环语句For Range用法示例详解的详细内容,更多关于Python循环语句For Range的资料请关注脚本之家其它相关文章!

相关文章

  • Pycharm如何打断点的方法步骤

    Pycharm如何打断点的方法步骤

    这篇文章主要介绍了Pycharm如何打断点的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Python实现获取弹幕的两种方式分享

    Python实现获取弹幕的两种方式分享

    弹幕可以给观众一种“实时互动”的错觉,在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。本文为大家总结了两个Python获取弹幕的方法,希望对大家有所帮助
    2023-03-03
  • 详解Python静态网页爬取获取高清壁纸

    详解Python静态网页爬取获取高清壁纸

    这篇文章主要介绍了Python爬取高清壁纸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Python曲线拟合详解

    Python曲线拟合详解

    这篇文章主要介绍了关于python曲线拟合,scipy.optimize中,curve_fit函数可调用非线性最小二乘法进行函数拟合,文中有详细的代码作为参考,需要的朋友可以阅读参考
    2023-04-04
  • 如何使用Python中的正则表达式处理html文件

    如何使用Python中的正则表达式处理html文件

    html类型的文本数据内容是由前端代码书写的标签+文本数据的格式,可以直接在chrome浏览器打开,清楚的展示出文本的格式,下面这篇文章主要给大家介绍了关于如何使用Python中的正则表达式处理html文件的相关资料,需要的朋友可以参考下
    2023-04-04
  • python递归下载文件夹下所有文件

    python递归下载文件夹下所有文件

    这篇文章主要为大家详细介绍了python递归下载文件夹下所有文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • python实现操作文件(文件夹)

    python实现操作文件(文件夹)

    这篇文章主要为大家详细介绍了pyhton实现操作文件、操作文件夹,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 详解pytest中runtestprotocol方法的实现

    详解pytest中runtestprotocol方法的实现

    runtestprotocol 是 pytest 执行测试流程中的一个核心函数,它主要负责调用测试函数的“setup”、“call”和“teardown”钩子函数,并生成对应的测试报告,本文将深入探究pytest中runtestprotocol方法的实现,需要的朋友可以参考下
    2023-10-10
  • pandas 将索引值相加的方法

    pandas 将索引值相加的方法

    今天小编就为大家分享一篇pandas 将索引值相加的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 简单文件操作python 修改文件指定行的方法

    简单文件操作python 修改文件指定行的方法

    使用python进行简略的文件读写
    2013-05-05

最新评论