当前位置: 代码迷 >> 综合 >> Python学习笔记——循环结构(for循环,while循环,循环中的break、continue、pass和else)
  详细解决方案

Python学习笔记——循环结构(for循环,while循环,循环中的break、continue、pass和else)

热度:70   发布时间:2024-02-02 01:52:01.0

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+=jj+=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:continueprint(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))breakj+=1
else:print('{:d} is a prime.'.format(num))

 

 

  相关解决方案