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

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

while循环语句

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

while condition:
    loop body

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

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

下面是一个简单的实例:

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

无限循环:

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

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

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

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

while...else语句

while condition:
    loop body
else:
    CodeBlock

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

简单实例如下:

#随机才一个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写在同一行

flag=1
while flag:print('这是一个无限循环')

for循环语句

for循环的一般格式如下:

for <variable> in <sequence>:
    <statements1>

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

下面是简单的实例:

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

它的一般格式为:

for <variable> in <sequence>:
    <statements1>
else:
    <statements2>

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

一个简单实例:

for num in range(5):
    print(num,end='\t')
else:
    print('end')

range()函数

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

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

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() 函数来遍历一个序列的索引,如下所示:

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后面的语句不执行了,直接进入下一轮循环。

以下是简单实例:

#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,那么会跳出当前的整个循环,不会跳出外层循环

下面是一个简单的实例:

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 不做任何事情,一般用做占位语句。

以下是一个实例:

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

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

相关推荐

  1. C语言实例

    2023-12-12 18:26:02       37 阅读
  2. 笔记-Python函数-ones

    2023-12-12 18:26:02       13 阅读
  3. 笔记-15arange函数学习

    2023-12-12 18:26:02       14 阅读
  4. 笔记-Python函数-zeros/identity/eye

    2023-12-12 18:26:02       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 18:26:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 18:26:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 18:26:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 18:26:02       18 阅读

热门阅读

  1. 开源软件基础

    2023-12-12 18:26:02       42 阅读
  2. c++ map

    c++ map

    2023-12-12 18:26:02      37 阅读
  3. 《Effective C++》条款33

    2023-12-12 18:26:02       45 阅读
  4. 揭秘平台工程如何减轻工程师的认知负荷

    2023-12-12 18:26:02       32 阅读
  5. TypeScript 第二节:基础类型

    2023-12-12 18:26:02       30 阅读
  6. 安卓apk逆向

    2023-12-12 18:26:02       49 阅读