Python3中while循环

while循环

格式:
while 表达式:
      语句:
逻辑:当程序执行到while语句时,首先计算"表达式"的值
      如果表达式的值为假,那么结束整个while"语句"
      如果表达式的值为真,那么执行语句,执行完"语句",再去执行"表达式"的值
      如果表达式的值还为真,那么继续执行语句,直到表达式的值为假,整个while语句才结束
#计算1+2+3+4+^……+100的值
sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print("sum = %d"%(sum))			#print("sum = %d"%(sum)) 写法等于 print("sum = ",sum)
#(输出)sum = 5050
str = "luckly is a good boy"
a = 0
while a <len(str):  #a < 19
    print("str(%d) = %s" % (a,str[a]))
    a += 1
#str[n] 查找字符 n为字符数 字符串的第一位为0位开始数到第n位

如果没有这一个语句,while循环在判断 x < N 时总是为True,就会无限循环下去,变成死循环,所以要特别留意while循环的退出条件。

whlie…else语句
其else语句只有在while正常结束时才会被执行,如果while循环被break语句结束,是不会执行else语句的。

var = 6
while var > 0:
   var = var -1
   if var == 3:             # 变量为 3 时跳过输出
    break
   print ('当前变量值 :', var)
else:
    print("Good bye!")
#(输出)当前变量值 : 5
#(输出)当前变量值 : 4

while…while嵌套
当第一个while执行一次,第二个while语句就要执行一轮,直到不满足第二个while的条件语句,
然后在执行第一个while循环,然后再第二个while语句执行一遍,直到不满足while的条件语句。直到第一个while语句也不满足while语句。

n=0
while n<9:
    s= 0
    n+=1
    while s < n:
        s += 1
        print("{}*{}={}".format(s,n,s*n),end=" ")
    print()                    #换行处理
#(输出)	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 
		

简单的图形打印

i = 0
while i < 6:
    i +=1						#行数   空格   *号
								#1      0      6
    k = 0					    #2      1      5
    while k < i -1:				#3      2      4
        k += 1					#4      3      3
        print(" ",end=" ")		#5      4      2
        						#6      5      1
    j = 0
    while j < 7 - i:
        j += 1
        print("*",end=" ")
    print()
 #(输出)
 * * * * * * 
   * * * * * 
     * * * * 
       * * * 
         * * 
           * 
i = 0
while i < 5:
    i += 1

    j=0
    while j < 5-i:
        print(" ",end="")
        j += 1

    k =0
    while k < 2*i-1:
        print("*",end="")
        k += 1
    print()
#(输出)
    *
   ***
  *****
 *******
*********

数字金字塔

n = 0
s = 0
while n < 4:
    n += 1

    i = 0
    while i < 4-n:
        print(" ",end=" ")
        i += 1

    j = 0
    while j < n:
        j += 1

        k =0
        while k < j :
            s = k + 1+((n-1)*n)/2
            k += 1
        print(int(s),end="   ")

    print()
#(输出)
      1   
    2   3   
  4   5   6   
7   8   9   10   
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值