赞
踩
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
…(省略)…
- while 判断条件(condition):
- 执行语句(statements)……
练习:100的累加求和
- """
- 100的累加求和
- """
- n=1
- sum=0
- while n<101:
- sum=sum+n
- n+=1
- print("请输出结果:%d"% sum)
- import random
- num=random.randint(1,100)
- # 定义一个变量,记录猜测了多少次
- count=0
- # 通过一个布尔类型的变量,做循环是否继续的标记
- flag=True
- while flag:
- guess_num=int(input("键盘输入一个数"))
- count+=1
- if guess_num==num:
- print("猜对了")
- flag=False
- else:
- if guess_num>num:
- print("你猜测大了")
- else: print("你猜测小了")
- print(f"你总共猜测了{count}次")
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
…(省略)…
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
…(省略)…
- """
- 演示while循环的嵌套使用
- """
- # 外层:表白100天的控制
- # 内层:每天的表白都送10朵玫瑰花的控制
- i=1
- while i<=100:
- print(f"今天是第{i}天,准备表白。。")
-
- # 内层循环
- j=1
- while j<=10:
- print(f"送给小妹第{j}朵玫瑰花")
- j+=1
- print("小美,我喜欢你")
- i+=1
- print(f"坚持到第{i-1}天,表白成功")#这里为i-1,是因为假设最后一次成功,到最后whil循环到101才不满足循环,但是表白实在第i天也就是100的时候
补充:
- """
- end就是结束了换行,然后end=’ ‘ ,表明不换行的情况下,会有一个空格将
- 将两个内容链接。而在最后一行的输出内容后为end='',目的在于不会换行,去掉
- 自然会换行,可自行调试发觉!
- """
- print("Hello",end=' ')
- print("World",end='')
- print("学号\t姓名\t语文\t数学\t英语")
- print("2022001\t小王\t99\t\t88\t\t0")
- print("2022002\t小周\t92\t\t45\t\t93")
- print("2022008\t小黄\t77\t\t82\t\t100")
练习
- """
- 演示使用while的嵌套循环
- 打印输出九九乘法表
- """
- #定义一个外层循环
- i=1 # 行
- while i<=9:
- # 定义一个内层循环
- j=1 # 列
- while j<=i:
- print(f"{j}*{i}={j*i}\t",end='')
- j=j+1
- i+=1
- print();#print()空内容,就是输出一个换行
for循环就是将“待办事项”逐个完成的循环机制
while循环的循环条件是自定义,自行控制循环条件
for循环是一种“轮询”机制,是对一批内容进行逐个处理
!for循环无法定义循环条件,只能从被处理的数据集中,依次取出内容进行处理
1) 基本格式:
for 临时变量 in 待处理的数据集:
循环满足条件时执行的语句
练习:
- """
- 演示for循环的基础语法
- """
- name="itheima"
- for x in name:
- # 将name的内容,挨个去除赋予x临时变量
- # 就可以在循环以内对x进行处理
- print(x)
- name="123456"
- for x in name:
- print(x)
- """
- 这里可以发现待处理的数据集数字加引号,因为不加引号单独的数字,
- 那相当于赋值给变量,是错误的
- """
练习
- name="itheima is a brand of itcast"
- count=0
- name1="a"
- for x in name:
- if x==name1:
- count+=1
- print(f"总共有{count}个字母a")
-
- """
- name="itheima is a brand of itcast"
- count=0
- for x in name:
- if x=='a':
- count+=1
- print(f"总共有{count}个字母")
- """
for 临时变量 in 待处理的数据集:
循环满足条件时执行的语句1
循环满足条件时执行的语句2
……
for 临时变量 in 待处理的数据集:
循环满足条件时执行的语句1
循环满足条件时执行的语句1
练习:
- """
- 九九乘法表
- """
- i=1
- for i in range(1,10):#range(1,10)为1 2 3 4 5 6 7 8 9,不包括10
- j=1
- for j in range(1,i+1):
- print(f"{j}*{i}={j*i}\t",end='')
- j=j+1
- i=i+1
- print()#换行操作
1.如果你需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,例如:
- for i in range(5):
- ... print(i)
- ...
- 0
- 1
- 2
- 3
- 4
2.你也可以使用 range() 指定区间的值:
- for i in range(5,9) :
- print(i)
-
-
- 5
- 6
- 7
- 8
3.也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
- for i in range(0, 10, 3) :
- print(i)
-
-
- 0
- 3
- 6
- 9
4.负数:
- for i in range(-10, -100, -30) :
- print(i)
-
-
- -10
- -40
- -70
- >>>
5.可以结合 range() 和 len() 函数以遍历一个序列的索引,如下所示:
- a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
- >>> for i in range(len(a)):
- ... print(i, a[i])
- ...
- 0 Google
- 1 Baidu
- 2 Runoob
- 3 Taobao
- 4 QQ
- >>>
6.可以使用 range() 函数来创建一个列表:
- list(range(5))
- [0, 1, 2, 3, 4]
- >>>
1. continue关键字作用:中断本次循环,直接进入下一次循环【for循环和while循环即可使用】
2. break关键字作用:所在循环永久中断【for循环和while循环即可使用】
while 中使用 break:
- n = 5
- while n > 0:
- n -= 1
- if n == 2:
- break
- print(n)
- print('循环结束。')
while 中使用 continue:
- n = 5
- while n > 0:
- n -= 1
- if n == 2:
- continue
- print(n)
- print('循环结束。')
实例:
- for letter in 'Runoob': # 第一个实例
- if letter == 'b':
- break
- print ('当前字母为 :', letter)
-
- var = 10 # 第二个实例
- while var > 0:
- print ('当前变量值为 :', var)
- var = var -1
- if var == 5:
- break
-
- print ("Good bye!")
以下实例循环字符串 Runoob,碰到字母 o 跳过输出:
- for letter in 'Runoob': # 第一个实例
- if letter == 'o': # 字母为 o 时跳过输出
- continue
- print ('当前字母 :', letter)
-
- var = 10 # 第二个实例
- while var > 0:
- var = var -1
- if var == 5: # 变量为 5 时跳过输出
- continue
- print ('当前变量值 :', var)
- print ("Good bye!")
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
如下实例用于查询质数的循环例子:
- for n in range(2, 10):
- for x in range(2, n):
- if n % x == 0:
- print(f"{n}等于{x}*{int(n/x)}")
- break
- else:
- # 循环中没有找到元素
- print(f"{n}是质数")
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
- for letter in 'Runoob':
- if letter == 'o':
- pass
- print ('执行 pass 块')
- print ('当前字母 :', letter)
-
- print ("Good bye!")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。