1、for循环
(1)语法
for循环称之为遍历,接受可迭代对象或迭代器作为参数,每次迭代其中的一个元素。
语法:
for iter_var in iterable_object:
代码块
iter_var:元素,变量;
iterable_object:可迭代对象,即可以按次序迭代、可循环的对象:String、List、Tuple、字典、文件等。
for循环获取可迭代对象,一次性产生一个迭代器,依次取迭代器中的值,执行语句序列,知道没有元素可取就结束循环。
判断某个对象是否是迭代器,是否是可迭代对象:
from collections.abc import Iterator,Iterable
>>>isinstance(range(10),Iterator)
False
>>>isinstance(iter(range(10)),Iterator)
True#是迭代器
>>>isinstance(iter(range(10)), Iterable)
True#是可迭代对象
(2)示例
range():Python的内建序列,返回一个可迭代对象,生成一个数字组成的列表,方便for循环遍历。
默认值是1时,生成(end-start)个数。
range(start,end,step=1):不包含end的值;
range(start,end):默认步长是1;
range(end):默认起始值是0,步长是1;
start:起始值(包含),end:终值(不包含),step:步长(不能为0).
range代码示例:
>>>list(range(3,11,2))
[3,5,7,9]
>>>list(range(3,11))
[3,4,5,6,7,8,9,10]
>>>list[range(11)]
[0,1,2,3,4,5,6,7,8,9,10]
>>>for i in range(3,11,2):
print(I,end=’’)
3,5,7,9
>>>s=‘Python’
>>>for c in s:
print(c,end=’’)
P y t h o n
猜数字,程序随机生成一个整数,竞猜5次:
from random import randint
x=randint(0,300)
for count in range(5):
digit=int(inut(‘输入一个在0到300间的整数:’))
if digit==x:
print(‘Bingo’)
elif digit>x:
print(‘too large’)
else:
print(‘too small’)
2、while循环
while循环和if语句语法类似,只要表达式的值为True,就会执行代码块中的内容。
语法:
while 条件表达式:
代码块
10以内数累加:
sumA=0
j=1#赋初值
while j<10:
sumA+=j
j+=1
print(sumA)
3、循环中的break、continue、pass和else
(1)break语句
跳出当前循环,执行循环之后的语句。
查找[1,100]第一个3的倍数:
for i in range(1,100):
if i%3==0:
print(i)
break
(2)continue语句
结束当前循环,回到循环顶端,判定循环条件,若条件满足,则执行下一次循环;
查找[1,100]第一个3的倍数:
for i in range(1,100):
if i%3!=0:
continue
print(i)
(3)pass语句
有时候遇到空语句的概念,什么也不做。
if (3>2):
pass
else:
print(‘不好,出大事了!’)
(4)循环中的else,如果循环代码从break处终止,则跳出循环;如果正常结束循环,则执行else中的代码。
判断一个数是否是素数:
from random import _sqrt
num=int(input('Please enter a number:'))
j=2
while j<=int(_sqrt(num)):
if num%j==0:
print('{:d} is not a prime.'.format(num))
break
j+=1
else:
print('{:d} is a prime.'.format(num))