while

while

while

whlie 条件:

  循环体

如果条件为真则运行循环体,如果条件为假,则不运行

 

 

案例1:输出1到10,指定任意数字不输出

a = 0
while a<11:
    a+=1
    if a == 8:
        continue
    print(a)
结果:
1234567910

 

案例2:输出1到100的相加的和

sum = 0
num = 0
while num <100:
    num += 1
    sum = sum + num
print(sum)
结果:
  5050

 

案例3:猜迷输入数字,当需要退出时输入q即可退出

 

while True:
    a = input("请输入数字")
    if a == 'q':
        print("笨蛋")
        break
    elif int(a)<66:
        print("小了")
        continue
    elif int(a) > 66:
        print("大了")
        continue
    elif int(a) == 66:
        print("等于")
        break

 

 

案例4:用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)

 

num = 3
while num >0:
    name = input("输入账号")
    password = input("输入密码")
    if name == 'www' and password == 123456:
        msag = '恭喜您登陆成功'
        print(msag)
    else:
        num -= 1
        msg = '您输入的有误,剩余输入次数还有%s,'%(num)
        print(msg)

 

 

案例5:求1-2+3-4+5 ... 99的所有数的和

a = 0
num = 1
while num < 100:
    if num % 2 == 1:
        a += num
        num += 1
    else:
        a -= num
        num += 1
print(a)

 

案例6:给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘太笨了你....’。

num = 0
while num<3:
    a = int(input("请输入数字"))
    if a<66:
        print("小了")
        continue
    elif a > 66:
        print("大了")
        continue
    elif a == 66:
        print("等于")
        break
    num += 1
    if num == 3:
        print("笨蛋")
        break
要注意这三次循环的累积的位置,若是先进行循环判断会在第三次输入时出现三次输入的错误
答案

 

双while循环

案例1:

使用#号输出一个长方形,用户可以指定宽和高,如果长为3高为4,则输出一个横着有3个#号竖着有4个#号的长方形

he = int(input("高:"))
we = int(input("宽:"))
a = 1
while a < he:
    b = 1
    while b <= we:
        print("#",end='') #end末尾不换行
        b +=1
    print("")
    a+=1

这是一个while嵌套的案例,两个循环分别对应着两个变量,内循环对应着一个变量要输出多少次以及输出的格式,而外循环对应着要进行多少次输出

 

案例2:

如何输出如下的直角三角形,用户指定输出行数(如果上下翻转,如何实现?)
*
**
***
****
*****
正序输出:
he = int(input("高:"))
j = 1
while j <=he:
    print("*"*j)
    j +=1
倒序输出:
he = int(input("高:"))
j = 1
while j <=he:
    print("*"*he)
    he -=1
解决方法1:

 

正序输出
num = input("输出数字")
a = 0
while a<=num:
    b = 0
    while b <=a:
        print("*",end='')
        b+=1
  print("")
    a+=1
倒序输出
num = int(input("输出数字"))
a = 0
while a<num:
    b = 0
    while b <num:
        print("*",end='')
        b+=1
    print("")
    num -= 1
解决方法2:

 

案例3:打印9*9乘法口诀表

num = 1
while num <=9:
    num1 = 1
    while num1<=num:
        print(str(num1)+"*"+str(num)+"="+str(num1*num),end='\t')
        num1 +=1
    print("")
    num +=1
解决方法

 

posted on 2018-12-28 22:05  &#128051;️南栀倾寒&#128051;️  阅读(181)  评论(0编辑  收藏  举报

导航