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

本文详细介绍了Python的循环结构,包括for循环的语法与使用示例,如利用range()生成序列进行遍历。同时,探讨了while循环的执行逻辑,并展示了在循环中break、continue和pass语句的应用场景。最后,讲解了else子句在循环中的特殊作用,用于区分循环的正常结束与被break中断的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值