唐山网站怎么做seo,怎样备份网站,网站开发人员的职责,wordpress 查看密码文章目录 while循环结构1.用循环打印1 ~ 100步骤解析2. 1 ~ 100的累加和3.死循环1. 用死循环的方法实现 1 ~ 100累加和 4. 单向循环(1)打印 一行十个小星星*(2)通过打印一个变量的形式,展现一行十个小星星(3)一行十个换色的星星 ★☆★☆★☆★☆★☆(4)用一个循环,打印十行十列… 文章目录 while循环结构1.用循环打印1 ~ 100步骤解析2. 1 ~ 100的累加和3.死循环1. 用死循环的方法实现 1 ~ 100累加和 4. 单向循环(1)打印 一行十个小星星*(2)通过打印一个变量的形式,展现一行十个小星星(3)一行十个换色的星星 ★☆★☆★☆★☆★☆(4)用一个循环,打印十行十列小星星(5) 一个循环实现十行十列,格列换色的小星星(6)一个循环实现十行十列,隔行换色的小星星(7)国际象棋棋盘 5.双向循环1.用两个循环完成十行十列的小星星2.用两个循环完成十行十列隔列换色的小星星3.用两个循环完成十行十列隔行换色的小星星4.使用循环打印99乘法表方向一方向二方向三方向四 6.求吉利数字 100 ~ 999 之间 找 111 222 333 123 456 654 321 ...方法一方法二方法三 7.百钱买百鸡8.break continue pass 关键字的使用1pass 过 (代码块中的占位符)防止代码报错没有逻辑意义2break 终止当前循环 (只能用在循环之中)3continue 跳过当前循环,从下一次循环开始跳过后continue后面的代码是不执行的 while循环结构
Python中的while循环是一个重复执行某段代码块的条件控制语句只要条件为真就会一直执行下去直到条件不再满足为止。
特点:减少冗余代码,提升执行效率 语法: while 条件表达式: code1
(1) 初始化一个变量 (2) 写上循环的条件 (3) 自增自减的值 1.用循环打印1 ~ 100步骤解析
#(1) 初始化一个变量
i 1
#(2) 写上循环的条件
while i 100:# (4) 写上循环的逻辑print(i)# (3) 自增自减的值i 1 # i i 1代码解析: 第一次循环 i 1 i100 判断为真,执行循环体 print(1) i 1 i 2 第二次循环 代码回到17行,重新进行条件判定 i 2 i100 判断为真,执行循环体 print(2) i 1 i 3 第三次循环 代码回到17行,重新进行条件判定 i 3 i100 判断为真,执行循环体 print(3) i 1 i 4
… 以此类推
直到i 101 i 100 判断为假,不执行循环体,到此循环结束… 1 ~ 100
2. 1 ~ 100的累加和
#(1) 初始化一个变量
i 1
total 0#(2) 写上循环的条件
while i 100 :# (4) 写上自定义的逻辑total i# (3) 自增自减的值i 1
print(total)代码解析: 第一次循环 i 1 i 100 判定为真True 执行循环体 total i total total i 0 1 i 1 i 2
第二次循环 i 2 i 100 判定为真True 执行循环体 total i total total i 0 1 2 i 1 i 3
第三次循环 i 3 i 100 判定为真True 执行循环体 total i total total i 0 1 2 3 i 1 i 4
… 依次类推
当i 101 101 100 判定为假False 不执行循环体,到此,循环结束…
total i total i 0 1 2 3 4 … 100 5050 3.死循环
while True: print(1)
写程序的时候除了特定要求一定要避免死循环否则将一直占用CPU
1. 用死循环的方法实现 1 ~ 100累加和
i 1
total 0
sign True #设置个变量是为了不使用关键字的情况下控制能退出循环
while sign:total ii1# 判断i是否加到了101 , 不参与循环if i 101:# 终止循环sign False
print(total) #1 ~ 100 50504. 单向循环
(1)打印 一行十个小星星*
help(print) #help 查看某个方法的文档 相当于linux里面的 --help 查看某函数(方法)的使用方法 help(print)
默认间隔是空格默认结尾带换行默认输出的是系统标准输出。可以修改
i 0
while i10: # end 打印时,尾部默认不加换行print(*,end) i 1
# 默认换行
# print()(2)通过打印一个变量的形式,展现一行十个小星星
i 0
strvar
while i 10:# 写上循环的逻辑strvar * # strvar strvar *i 1
print(strvar)strvar * strvar *
strvar * strvar * * **
strvar * strvar ** * ***
...
strvar * strvar ******** * *********(3)一行十个换色的星星 ★☆★☆★☆★☆★☆ #方法一 i 0 while i 5: print(“★☆”,end“”) i1
#方法二 i 0 while i 10: if i % 2 0 : print(“★”,end“”) else: print(“☆”,end“”) i1
print(“”)
#方法三 i 0 strvar “” while i 10: if i % 2 0 : strvar “★” else: strvar “☆” i1 print(strvar)
公式: 任意数 和 n 进行取余,余数的范围: 0 ~ (n-1) 0 % 2 0 1 % 2 1 2 % 2 0 3 % 2 1 被除数 % 2 0 或者 1
0 % 5 0 1 % 5 1 2 % 5 2 3 % 5 3 4 % 5 4 5 % 5 0 6 % 5 1 7 % 5 2 被除数 % 5 0 或者 1,2,3,4
(4)用一个循环,打印十行十列小星星
“” ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ “”
#方法一
i 0
while i 100:# 逻辑写在这里print(* , end)# 打印换行 (在9 19 29 .. 99 )if i % 10 9:print()i 1 0123456789 10111213141516171819 20212223242526272829 … 90919293949596979899 9 19 29 39 49 59 69 79 89 99 个位数都带9与9取余为0时换行即可 9 % 10 9 19 % 10 9 29 % 10 9 … 99 % 10 9
“” #方法二
i 1
while i 100:# 逻辑写在这里print(* , end)# 打印换行 (在10 20 30 .. 100 )if i % 10 0:print()i 1 12345678910
**********
11121314151617181920
**********
21222324252627282930
**********...
919293949596979899100
**********
10 20 30 ... 100代码追求高内聚低耦合 双循环实现
(5) 一个循环实现十行十列,格列换色的小星星
★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ i 0
while i 100:# (1)打印星星if i % 2 0 :print(★,end)else:print(☆,end)# (2)打印换行 (在9 19 29 .. 99 )if i % 10 9:print()i 1 (6)一个循环实现十行十列,隔行换色的小星星
★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆
公式:任意数和n进行地板除,会出现n个相同的数 0 // 10 0 1 // 10 0 2 // 10 0 … 9 // 10 0 0 ~ 9 // 10 0 (10个相同的0)
10 // 10 1 11 // 10 1 12 // 10 1 … 19 // 10 1 10 ~ 19 // 10 1 (10个相同的1)
… 以此类推 20 ~ 29 // 10 2 (10个相同的2) 30 ~ 39 // 10 3 (10个相同的3) 40 ~ 49 // 10 4 (10个相同的4) … 90 ~ 99 // 10 9 (10个相同的9)
0~ 100 会出现10个相同的0,1,2 , 3 … 9
0 // 3 0 1 // 3 0 2 // 3 0 3 // 3 1 4 // 3 1 5 // 3 1 “”
“”“”“”
#方法一
i 0
while i 100:# (1)打印星星if i // 10 % 2 0:print(★,end)else:print(☆,end)# (2)打印换行 (在9 19 29 .. 99 )if i % 10 9:print()i 1 #方法二
i 10
while i 110:# 打印星星 num int(str(i)[-2])if num % 2 0 :print(★,end)else:print(☆,end)# 打印换行if i % 10 9:print()i110 ~ 100 101 102 103 110...10 ~ 19 1
20 ~ 29 2
30 ~ 39 3
90 ~ 99 9
100 ~ 109 0国际象棋棋盘 (7)国际象棋棋盘
#■ □
i 0
while i 8:j 0while j 8:if i % 2 0:if j % 2 0:print(■,end)else:print(□, end)else:if j % 2 1:print(■,end)else:print(□, end)if j 7 :print()j 1i 15.双向循环
1、使用双向循环打印出十行十列小星星
1.用两个循环完成十行十列的小星星
j 0
while j 10:# 打印星星i 0while i 10:print(*,end)i1# 打印换行print()j 1逻辑分析双层循环各做各的内层循环是连续打印一行连续的10个星星外层循环是将内层循环循环执行十遍然后内存循环一次做次换行就是这么无脑
2.用两个循环完成十行十列隔列换色的小星星
“” ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ ☆★☆★☆★☆★☆★ “”
i 0
while i 10:# 打印一行黑白相间的星星j 0while j 10:if j % 2 0:print(☆,end)else:print(★,end)j 1# 打印换行print() i13.用两个循环完成十行十列隔行换色的小星星
★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆
外层的循环i动的慢 内层的循环j动的快 外层的i动一次, 内层的循环动10次
i 0
while i 10 :j 0while j 10:if i % 2 0:print(☆,end)else:print(★,end)j 1print()i 1外层控制行内层控制列
4.使用循环打印99乘法表
方向一
i 1
while i 9:# 打印对应的表达式j 1while j i:print(%d*%d%2d % (i,j,i*j) ,end )j1# 打印换行print()i 1使用%d对齐
f格式化字符串对齐两个长度居右对齐
方向二
i 9
while i 1:# 打印对应的表达式j 1while j i:print(%d*%d%2d % (i,j,i*j) ,end )j1# 打印换行print()i - 1方向三
i 1
while i 9 :kongge 9 - i# 打印空格while kongge 0:print( ,end)kongge - 1 # 打印表达式j 1while j i:print(%d*%d%2d % (i,j,i*j) ,end )j1# 换行print()i 1原理如图3, 1x1被空格挤到了右边每个表达式f{j} x {i}{i*j:2},end’ ’ 占了9位即9个空格。最多的一行从1x1到1x9 一共占了 9组9x9 81个空格但有个1x1一组空格最多一行占八组空格 所以空格组数从8到 1依次递减直到最后一行空格数为零不再需要空格去占位。跟之前的1x1到1x9打印方式一样
一组有多少个空格空格循环那里打印几个空格 即每个表达式f{j} x {i}{i*j:2},end’ ’ 占了9位即9个空格
方向四
i 9
while i 1 :kongge 9 - i# 打印空格while kongge 0:print( ,end)kongge - 1 # 打印表达式j 1while j i:print(%d*%d%2d % (i,j,i*j) ,end )j1# 打印换行print()i -16.求吉利数字 100 ~ 999 之间 找 111 222 333 123 456 654 321 …
// 可以获取一个数高位 % 可以获取一个数低位 baiwei 345 // 100 shiwei 345 // 10 % 10 gewei 345 % 10 print(gewei)
方法一
i 100
while i 999:baiwei i // 100shiwei i // 10 % 10gewei i % 10if shiwei gewei and shiwei baiwei :print(i)# 123elif shiwei gewei - 1 and shiwei baiwei 1:print(i)# 987elif shiwei gewei 1 and shiwei baiwei - 1:print(i)i 1方法二
i 100
while i 999:strvar str(i)# print(strvar, type(strvar))gewei int(strvar[-1])shiwei int(strvar[1])baiwei int(strvar[0])if shiwei gewei and shiwei baiwei :print(i)# 123elif shiwei gewei - 1 and shiwei baiwei 1:print(i)# 987elif shiwei gewei 1 and shiwei baiwei - 1:print(i)i 1方法三
i 100
while i 999:strvar str(i)# print(strvar, type(strvar))gewei int(strvar[-1])shiwei int(strvar[1])baiwei int(strvar[0])if 2 * shiwei gewei baiwei and (shiwei gewei 1 or shiwei gewei -1 ):print(i)elif gewei shiwei and shiwei baiwei:print(i)i 17.百钱买百鸡
#公鸡一个五块钱母鸡一个三块钱小鸡三个一块钱现在要用一百块钱买一百只鸡问公鸡、母鸡、小鸡各多少只
穷举法:把数据拿出来一个一个试 x [1,2] y [3,4] z [5,6] xyz 10 1 3 5 9 1 3 6 10 bingo 1 4 5 10 bingo 1 4 6 11 2 3 5 10 bingo 2 3 6 11 2 4 5 11 2 4 6 12
公鸡 : x 母鸡 : y 小鸡: z 鸡的数量:x y z 100 鸡的价格:5 * x 3 * y 1/3*z 100
x 0
while x 20:y 0while y 33:z 0while z 100:if xyz 100 and 5*x 3 * y 1/3*z 100 :print(x,y,z)z 1 y 1x 18.break continue pass 关键字的使用
####关键字的使用 pass break continue
break和continue的区别break是跳出循环 continue则是跳出本次循环执行下一次循环 return 也会终止循环
1pass 过 (代码块中的占位符)防止代码报错没有逻辑意义
if 20 20: pass
while True: pass
如果没有代码要写而且不占位就会报错
2break 终止当前循环 (只能用在循环之中)
break语句用于结束循环若循环中使用了break语句程序执行到break 语句时会结束循环若循环嵌套使用了break语句程序执行到break语句时会 结束本层循环。
#1 ~ 10 遇到5终止循环 i 1 while i 10: print(i) if i 5: break i 1
3continue 跳过当前循环,从下一次循环开始跳过后continue后面的代码是不执行的
#打印 1 ~ 10 跳过5
i 1
while i 10: if i 5:# 在跳过之前,因为会终止执行后面的代码,从下一次循环开始# 为了避免死循环,手动加1i 1continueprint(i)i 1#1 ~ 100 打印所有不含有4的数字 #方法一
i 1
while i 100:strvar str(i)# print(strvar)if 4 in strvar:i 1continueprint(i)i 1#方法二
i 1
while i 100:if i // 10 4 or i % 10 4:i1continueprint(i)i1总结以上就是python关于while循环的所有用法希望对大家在python的学习工作中有所帮助ღ( ´ᴗ )比心