码迷,mamicode.com
首页 > 其他好文 > 详细

(15)while循环

时间:2019-05-01 14:58:34      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:div   str   while   小星星   结构   最简   var   end   比较   

循环结构 : while
循环结构的特点:减少代码的冗余,提高代码的效率
注意:只要是循环一定要有判断条件退出循环,不然就成了死循环,程序会一直在内存执行,直到内存耗尽,暴毙.....
语法形式: while 条件表达式: code1 code2 (一)打印数字1~10 i = 1 # 定义一个初始化的变量 # 写一个循环的条件 while i <= 10: # 代码体,写逻辑 print(i) i += 1 # 程序每跑一遍,i就+1,直到1=10,循环停下来 执行结果: 1 2 3 4 5 6 7 8 9 10 (二) 计算1~100的累加和 ?
写法一: i = 1 total = 0 while i <= 100: total += i i += 1 print(total) 执行结果: 5050

 

写法二:
i = 1
total = 0  # 初始化一个变量
flag = True   #  写一个标志符
while flag: # 只有为真的时候才会循环
    total += i
    i += 1
    # 当i位101的时候,为了避免在回到循环判断中,直接在此处终止
    if i == 101:
        flag = False  # 更改标志符状态
print(total)
执行结果:
5050

(三)打印一行十个小星星
(1)最简单的方法:功能的确实现了,但是看起来比较low
print("*"*10)
执行结果:
**********
(2)升级版:用循环写
i = 0
while i < 10:
    print("*", end="") # end=‘‘以什么结尾,这里以空制符串结尾,保证星星不会换行,打印在一排
    i += 1
执行结果:
**********
(3)进阶版:
i = 0
strvar = ‘‘
while i < 10:
    strvar += "*"
    i += 1
print(strvar)
执行结果:
**********
(四)while和if的混合使用
(1)要求:打印一行十个小星星 奇数个打印★ 偶数个打印☆
i = 0
while i < 10:
    if i % 2 == 0:
        print("★", end="")
    else:
        print("☆", end="")
    i += 1
执行结果:
★☆★☆★☆★☆★☆
(2)要求:一个循环 打印十行十列隔列变色小星星
i = 0
while i < 100:
    if i % 2 == 0:
        print("☆", end="")
    else:
        print("★", end="")
    if i % 10 == 9:  # 换行,i是从0开始的,i逢9就要开始换行
        print()
    i += 1
执行结果:
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★
☆★☆★☆★☆★☆★

(五)while循环的嵌套(多个while循环)
(1)用两个循环打印十行十列变色小星星
i = 0
while i < 10:  # 外循环
    j = 0
    while j < 10:  # 内循环
        if i % 2 == 0:  # 控制行
            print("★", end="")
        else:
            print("☆", end="")
        j += 1  # 程序运行一次,j+1,一直满足内循环,所以外循环走一次,内循环走十次
    print()  # 换行,外面的循环每执行一次,就打印一个换行
    i += 1
执行结果:
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
(2)打印99乘法口诀表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print("%d*%d=%-2d" % (j, i, i * j), end=" ") # end这里有空格
        j += 1
    print()  # 换行
    i += 1
执行结果:是不是beautiful
1*1=1  
1*2=2  2*2=4  
1*3=3  2*3=6  3*3=9  
1*4=4  2*4=8  3*4=12 4*4=16 
1*5=5  2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
作业:自己下去试一下99乘法口诀的其他打发,比如,方向相反的乘法口诀

 

  

 

(15)while循环

标签:div   str   while   小星星   结构   最简   var   end   比较   

原文地址:https://www.cnblogs.com/lyj910313/p/10799815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!