Python 篇章(十五)

一、while 循环使用场景

  • 循环的作用就是让 指定的代码 重复的执行
  • while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行
  • 需求 —— 打印 5 遍 Hello Python
  • 思考 —— 如果要求打印 100 遍怎么办?

二、while 语句格式

#格式
while 表达式:
    语句
    
#逻辑
当程序执行到while语句时,首先会计算表达式的值,如果表达式的值为假,结束整个while语句,如果表达式的值为真,则执行语句,执行完语句再去计算表达式的值,如果表达式的值还为真,则在执行语句...... 直到表达式的值为假才会停止,否则一直循环。

#例如:
num = 1
while num <= 5:
    print("num = %d" % num)
    num += 1

三、while-else 语句格式

#格式
while 表达式:
    语句1
else:
    语句2
    
#逻辑while表达式为真时,循环执行“语句1”,当语句1执行结束后,在执行else中的“语句2”;当while条件为假时;则执行else中的“语句2”,当“语句2”执行结束后,退出整个while循环。并且while如果是以break导致循环截止的,同样不会执行else下面的语句。

#总结
只有在while表达式为假时才执行else中的语句

#例如
index = 0
while index < 5:
    index += 1
    print(index)
    if index == 3:
        break
else:
    print("my name is a lemon")

四、while 简单示例

'''死循环:表达式永远为真的循环
例如:
while 1 + 1 == 2:    #1 + 1永远等于2
    print("my name is a lemon")
    
'''


'''用while计算1+2+3+....+100的总数
num1 = 0
num2 = 1
while num2 <= 100:
    num1 += num2
    num2 += 1
print("num1 = %d" % (num1))     # num1 = 5050

'''


'''将str1变量中的字符串每个字符都打印一遍,并且显示每个字符的序列号
str1 = "lemon"
index = 0
while index < len(str1):
    print(index, str1[index])
    index += 1

'''

五、while 语句练习

'''打印出所有三位数中水仙花数
num = 100
while num <= 999:
    n = num // 100
    u = num // 10 % 10
    m = num % 10
    if num == n**3 + u**3 + m**3:
        print("水仙花数: %s" % (num))
    num += 1
    
'''


'''如何将所有五位数中的回文数都列出来
num = 10000
while num <= 99999:
    a = num // 10000 % 10       # 万
    b = num // 1000 % 10        # 千
    c = num // 10 % 10          # 十
    d = num % 10                # 个
    if a == d and b == c:
        print("回文数 = %d" % (num))
    num += 1

'''



'''从控制台输入一个数,分解质因数;例如:90=2x3x3x5
num = int(input("请输入质因数:"))
i = 2
while num != 0 and num != 1:
    if num % i == 0:
        print(i)
        num //= i
    else:
        i += 1

'''



'''从控制台输入字符串,返回这个字符串中有多少个单词
str1 = input("请输入一行字符串:")
str2 = str1.strip()
index = 0
count = 0
while index < len(str2):
    while str2[index] != " ":
        index += 1
        if index == len(str2):
            break
    count += 1
    if index == len(str2):
       break
    while str2[index] == " ":
        index += 1
print(count)

'''

'''输入五个数,找出第二大的值
listNum = []
num = 0
while num < 5:
    val = int(input("请输入五次除了浮点数以外的数字:"))
    listNum.append(val)       # 将val的值追加到list列表里
    num += 1
print(listNum)
listNum.sort()    # 升序排序
count = listNum.count(listNum[len(listNum) - 1])
c = 0
while c < count:
    listNum.pop()
    c += 1
print(listNum[len(listNum) -1])

'''
posted @   ArMinLi  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示