大家好,欢迎来到IT知识分享网。
(一) while循环的基本语法
1. 基本格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
…(省略)…
- 只要条件满足,会无限循环执行
- 条件需要布尔类型结果 练习:100的累加求和
while 判断条件(condition): 执行语句(statements)……
""" 100的累加求和 """ n=1 sum=0 while n<101: sum=sum+n n+=1 print("请输出结果:%d"% sum)
-
(二) while循环的基础案例
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. 基本格式:
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的时候
(四) while循环的嵌套应用补充:
补充:
1. print输出不换行
""" end就是结束了换行,然后end=’ ‘ ,表明不换行的情况下,会有一个空格将 将两个内容链接。而在最后一行的输出内容后为end='',目的在于不会换行,去掉 自然会换行,可自行调试发觉! """ print("Hello",end=' ') print("World",end='')
2. 制表符/t
print("学号\t姓名\t语文\t数学\t英语") print("\t小王\t99\t\t88\t\t0") print("\t小周\t92\t\t45\t\t93") print("\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循环的基础语法
1. 基础语法
for循环就是将“待办事项”逐个完成的循环机制
1) 基本格式:
for 临时变量 in 待处理的数据集:
循环满足条件时执行的语句
练习:
""" 演示for循环的基础语法 """ name="itheima" for x in name: # 将name的内容,挨个去除赋予x临时变量 # 就可以在循环以内对x进行处理 print(x)
name="" 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循环的嵌套应用
1. 基本格式:
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()#换行操作
扩展range() 函数
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', ''] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 Runoob 3 Taobao 4 >>>
6.可以使用 range() 函数来创建一个列表:
list(range(5)) [0, 1, 2, 3, 4] >>>
(七) 循环中断:break和continue
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}是质数")
(八)PASS语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
for letter in 'Runoob': if letter == 'o': pass print ('执行 pass 块') print ('当前字母 :', letter) print ("Good bye!")
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/127619.html