数据分析系列 之python中range函数的使用

此部分作为前面循环博客的内容补充

1 语法:
range(start,end,step=1)
range(start,end)
range(end)
其中:
start 起始值(包含)
end 终值(不包含)
step 步长(不能为0)
range(start,end,step=1) 不包含end的值
range(start,end) 缺省step值为1
range(end) 缺省start值为0,step值为1

2 举例:

list(range(3,11,2))
[3,5,7,9]
list(range(3,9))
[3,4,5,6,7,8]
list(range(5))
[0,1,2,3,4]

3 for循环:
语法:
for iter_var in interable_object:
suite_to_repeat
其中,interable_object包括:
字符串 列表 元组 字典 文件等
举例:

s='ABC'
#元素迭代
for c in s:
 print(c,end=' ')
 #索引迭代
 for i in range(len(s)):
  print(s[i],end=' ')

判断是可迭代器或者可迭代对象:
1)可迭代对象包含迭代器;
2)如果一个对象拥有__iter__方法,其是可迭代对象;如果一个对象拥有next方法,其是迭代器,迭代器用于支持for循环、列表推导、字典推导和集合推导等操作。

from collections.abc import Iterator,Iterable
isinstance(range(10),Iterator)
False
isinstance(iter(range(10)),Iterator)
True
isinstance(range(10),Iterable)
True

4 举例:
辗转相除法:

x = eval(input('x = '))
y = eval(input('y = '))
if x < y:
	x,y = y,x
while x % y != 0:
	r = x % y
	x = y
	y = r
print('result = ',y)

判断一个数是否为素数:

#while语句
from math import sqrt
j = 2
while j <= 100:
	i = 2
	k = int(sqrt(j))
	while i <= k:
		if j % i == 0:break
		i = i+1
	if i > k:
		print(j,end = ' ')
	j += 1

#for语句
from math import sqrt
for i in range(2,101):
flag = 1
	k = int(sqrt(i))
	for j in range(2,k+1):
		if i % j = 0:
			flag = 0
			break
	if(flag):
		print(i,end = ' ')

循环中的else语句:
循环中的else
如果循环代码从break处终止,则跳出循环,不执行else中的代码;
正常结束循环,则执行else中代码。
可利用else语句改写判断素数的代码。

for i in range(1, 10, 2):
    if i % 5 == 0:
       print("ABC")
       break
else:
    print(i)

#执行结果为:ABC

参考资料:
https://www.icourse163.org/learn/NJU-1001571005?tid=1463102441#/learn/content?type=detail&id=1240380146&cid=1261816355&replay=true 慕课课程:用python玩转数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值