菜鸟学习日记(python)——循环语句

python中的循环语句包括for循环语句和while循环语句,但是python中是没有do...while循环语句的。

while循环语句

while循环语句的一般格式为;

python 复制代码
while condition:
    loop body

condition是循环判断条件,loop body是循环体。

当循环条件成立时,就执行循环体中的语句,循环条件不成立时,跳出循环。

下面是一个简单的实例:

python 复制代码
# #计算0到100的和
sum=0
i=0
while i<=100:
    sum=sum+i
    i=i+1
print('0到100的整数和为:%d'%sum)

无限循环:

当我们设置条件表达式永远不为 false时,可以实现无限循环

python 复制代码
#无限循环
while True:
    height=input('请输入你的身高(cm):')
    height=float(height)
    print('你的身高对应标准体重为:%fkg'%(height-105))

可以按终止按钮来退出死循环

无限循环在服务器上客户端的实时请求非常有用

while...else语句

python 复制代码
while condition:
    loop body
else:
    CodeBlock

如果while后面的条件表达式(condition)成立,那么执行循环体中(loop body)的语句,不成立时,就执行else后面的(CodeBlock)语句。

简单实例如下:

python 复制代码
#随机才一个0到10的整数
num=random.randint(0,10)    #随机生成一个0到10之间的整数
num2=int(input('请输入你猜想的数字(整数):'))       #输入猜想的数字
i=1         #i用于计算猜数的次数
while num2!=num:        #条件表达式
    print('猜错了,再猜一次')
    num2 = int(input('请输入你猜想的数字(整数):'))
    i = i + 1
else:
    print('一共猜了%d次猜对啦!'%i)          #条件表达式不成立就执行这条语句

如果while的循环体中只有一条语句的话,可以将这条语句和while写在同一行

python 复制代码
flag=1
while flag:print('这是一个无限循环')

for循环语句

for循环的一般格式如下:

python 复制代码
for <variable> in <sequence>:
    <statements1>

variable是一个变量名,sequence是变量范围,当变量在变量范围内时,执行statements1里面的语句,否则执行statements2中的语句

下面是简单的实例:

python 复制代码
for num in range(1,5):      #range(1,5)表示1到5的整数
    print(num,end='\t')     #end='\t'表示制表符,也就是4个空格
print('\n')         #\n是换行符

str1='hello'        #字符串
for str in str1:
    print(str,end='\t')
print('\n')

list1=[1,2,3]       #列表
for num in list1:
    print(num,end='\t')
print('\n')

tuple1=(4,5,6)      #元组
for num in tuple1:
    print(num,end='\t')
print('\n')

#注意:集合是无序的,所以打印出来的数据也是无序的
set1={'t1','t2','t3'}       #集合
for str in set1:
    print(str,end='\t')
print('\n')

dict1={'name':'风之海蓝','sex':'男','age':33}        #字典
for str in dict1.values():
    print(str,end='\t')
print('\n')

需要注意的是,对于集合,打印出来的结果并不是有序的

for...else

它的一般格式为:

python 复制代码
for <variable> in <sequence>:
    <statements1>
else:
    <statements2>

statements1是循环主体,statements2是循环结束后执行的语句

一个简单实例:

python 复制代码
for num in range(5):
    print(num,end='\t')
else:
    print('end')

range()函数

如果需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,就像上面的实例一样。

我们可以指定区间值,也可以指定步长

python 复制代码
for num in range(0,10,2):       #0到10的整数,步长为2
    print(num,end='\t')
print('\n')
for num in range(0,10,3):       #0到10的整数,步长为3
    print(num,end='\t')
print('\n')
for num in range(0,-10,-3):       #0到-10的整数,步长为-3
    print(num,end='\t')
print('\n')
for num in range(-10,0,3):       #-10到0的整数,步长为3
    print(num,end='\t')

可以看到,range的区间可以是正数区间,也可以是负数区间,区间的右边界值不被包含在内,步长也可以是正数或者负数。但是要注意的是,区间如果是从小到大,那么步长的数值要为正,区间如果是从大到小,那么步长的数值要为负数,否则会取不到数值。

我们可以结合 range() 和 len() 函数来遍历一个序列的索引,如下所示:

python 复制代码
list1=['t1','t2','t3']
for i in range(len(list1)):
    print(list1[i])

break和continue

在循环语句中,我们常常要用到break语句和continue语句,它们是用来跳出循环的,但是两者又有区别。

break:跳出整个循环。它可以跳出 for 和 while 的循环体,如果从 for 或 while 循环中使用break终止,那么对应的循环 else 块将不执行。

continue:跳出当前循环。也就是在当前循环中,continue后面的语句不执行了,直接进入下一轮循环。

以下是简单实例:

python 复制代码
#for循环中使用break
for num in range(1,10):
    if num==5:
        break
    print(num,end='\t')
print('结束')

#for循环中使用continue
for num in range(1,10):
    if num == 5:
        continue
    print(num,end='\t')
print('结束')

#while中使用break
num = 10
while num > 0:
    num = num - 1
    if num == 5:
        break
    print('当前变量值为 :', num, end='\t')
print('结束')

#while中使用continue
num = 10
while num > 0:
    num = num - 1
    if num == 5:
        continue
    print('当前变量值为 :', num, end='\t')
print('结束')

可以看到,无论是在for循环中,还是在while循环中,如果使用的是break,那么它会跳出整个循环,后面的循环语句都不会执行了(如果有else子句,else子句里面的语句也不会执行)。但是如果用的是continue,那么只有当前循环中的剩余语句不会执行,后面循环中的语句以及else子句中的语句都会执行。

如果是在嵌套循环语句中,执行break,那么会跳出当前的整个循环,不会跳出外层循环

下面是一个简单的实例:

python 复制代码
for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n // x)
            break
    else:
        # 循环中没有找到元素
        print(n, ' 是质数')

pass语句

pass是一个空语句,使用它是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

以下是一个实例:

python 复制代码
list1=['花花','壳哥','飒飒','绒绒','海鸥哥哥']
for str in list1:
    if str=='飒飒':
        pass
        print('这是%s'%str)
    print(str)
print('结束')

可以看到pass不会对程序造成影响,不影响程序的正常运行,只作占位使用

相关推荐
我爱挣钱我也要早睡!3 小时前
Java 复习笔记
java·开发语言·笔记
知识分享小能手5 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
luckys.one5 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
大翻哥哥7 小时前
Python 2025:量化金融与智能交易的新纪元
开发语言·python·金融
汇能感知7 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun8 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
zhousenshan8 小时前
Python爬虫常用框架
开发语言·爬虫·python
茯苓gao8 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾8 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
IMER SIMPLE8 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习