Python循环语句-3·For&Range用法

分享
程序员 2024-9-25 04:54:28 156 0 来自 中国
一、range 函数概念

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

案例

通例使用:
[root@localhost day02]# python3>>> tmp = range(1, 10)>>> tmprange(1, 10)>>> len(tmp)9>>> list(tmp)[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> tmp01 = range(5)>>> tmp01range(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)
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2025-2-2 13:45, Processed in 0.177561 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表