• 006.Python循环语句while循环


    循环结构

    优点

    1. 减少代码冗余
    2. 提升效率

    while循环

    语法结构

    while 条件表达式:
        循环体
        code1
        code2

     打印0-100

    i = 0
    while i <= 100:
        print(i)
        i+=1

    执行过程:

    第一套循环
    
    首先i=0
    判断0<=100 条件成立 返回True 执行循环体
    打印当前i
    i+=1 i = i+1 i=>1
    
    第二套循环
    
    回到第二行循环判断条件中
    1 <= 100 条件成立 返回True 执行循环体
    打印当前i
    i+=1 i = i+1 i=>2
    
    ......
    直到当i = 101 时 ,回循环判断条件中,发现不成立,返回False
    循环体终止不执行了.跳出循环

    计算1~100的累加

    i = 0
    sum = 0
    while i <= 100:
        sum = sum + i    #sum += i
        i+=1
    print(sum)

    执行过程

    # 第一次循环
    判断 i 1<=100 条件成立 执行循环体当中的内容
    sum = sum + i =>  sum = 0 + 1
    i+=1  i=>2
    
    # 第二次循环
    判断 i 2<=100 条件成立 执行循环体当中的内容
    sum = sum + i =>  sum = 0 + 1 + 2
    i+=1  i=>3
    
    # 第三次循环
    判断 i 3<=100 条件成立 执行循环体当中的内容
    sum = sum + i =>  sum = 0 + 1 + 2 + 3
    i+=1  i=>4
    
    依次类推...
    当i = 101 的时候 发现101 <= 100 返回False 循环体不执行,终止循环
    sum = sum + i => sum = 0+1+2+3+ ..... + 100
    '''

    可以写一个死循环,通过if判断退出

    i = 0
    sum = 0
    while True:
        sum = sum + i
        i+=1
        if i == 101:
            print(sum)
            break

    使用信号控制

    sign = True
    i = 0
    sum = 0
    while sign:
        sum = sum + i
        i+=1
        if i == 101:
            sign = False
    print(sum)

    打印一行10个星星

    直接打印

    i = 1
    while i < 10:
        print("*",end="")
        i+=1

    用一个变量打印出一行十个小星星 (十个小星星塞在一个变量中,最后达因变量)

    i = 0
    strvar = ''
    while i<10:
            strvar += "*"
            i+=1
    # strvar = strvar + "*" + "*" + "*"
    print(strvar)

    打印一行十个小星星 奇数个打印★ 偶数个打印☆

    i = 0
    while i<10:
            # 余数为0  打印黑猩
            if i % 2 == 0:
                    print("",end="")
            else:
                    #否则打印白星
                    print("",end="")
            i+=1

    用 一个循环 打印十行十列小星星

    print()
    i = 0
    while i<100:
            # 输出小星星
            print("*",end="")
            # i 从0开始到99结束
            # 任意数n与10取余 范围0 ~ 9 0代表第一个星星 9代表最后一个,正好10 , 如果是10个选择换行
            if i % 10 == 9:
                    # 打印换行
                    print()
            i+=1

    一个循环 打印十行十列隔列变色小星星(一个循环)

    i = 0
    while i<100:
        # 输出小星星
        if i % 2 == 0:
            print("",end="")
        else:
            print("",end="")
        
        # 最后换行
        if i % 10 == 9:
            print()
        
        i+=1

    一个循环 打印十行十列隔行变色小星星(一个循环)

    i = 0
    while i<100:
        # 利用地板除与取余的规律 产生十个相同的数字,并且按10个相同的余数取花色
        if i // 10 % 2 == 0:
            print("",end="")
        else:
            print("",end="")
        
        # 控制换行
        if i % 10 == 9:
            print()
        
        i+=1

    字符串的操作

    字符串的拼接  +

    str1 = "生命"
    str2 = "是美丽的"
    res = str1 + str2
    print(res)
    str1 += str2 # str1 = str1 + str2
    print(str1)

    字符串的重复 *

    str1 = "重要的事情说三遍"
    res = str1 * 3
    print(res)

    字符串跨行拼接

    strvar = "我的电脑丢了用英文说是my"
    " computer"
    "is lost"
    print(strvar)

    字符串的索引

    和列表类似

    strvar = "梁山好汉108将"
    #        -8-7-6-5-4-3-2-1
    res = strvar[6]
    print(res)
    res = strvar[-2]
    print(res)

    字符串的切片:

    语法 => 字符串[::]  完整格式:[开始索引:结束索引:间隔值]
        (1)[开始索引:]  从开始索引截取到字符串的最后
        (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
        (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
        (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
        (5)[:]或[::]  截取所有字符串

    案例

    strvar = "生命中曾经有过的所有灿烂,原来终究,都需要用寂寞来偿还"
    
    # (1)[开始索引:]  从开始索引截取到字符串的最后
    res = strvar[23:]       #寞来偿还
    print(res)
    # (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    # 注意:高位取不到
    res = strvar[:4]     #生命中曾    
    print(res) # (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) res = strvar[5:9] #有过的所 print(res) # (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符 ''' 找出开始索引号3 然后依次加5 会变成 3 8 13 18 23 28 通过数字找索引对应的字符 ''' res = strvar[1::2] #命曾有的有烂原终,需用寞偿 print(res) res = strvar[3::5] #曾所原都寞 print(res) res = strvar[:10:3] #生曾过有 print(res) res = strvar[::2] #生中经过所灿,来究都要寂来还 print(res) # 逆向索引 -1 -2 -3 -4 -5 ... res = strvar[-1::-1] # 还偿来寞寂用要需都,究终来原,烂灿有所的过有经曾中命生 print(res) res = strvar[-1:-3:-1] # 方向从右向左 还偿 print(res)

    字符串的格式化 (%d  %f  %s 占位符 )

    res = "我今天花了%d元买了一杯咖啡,在星巴克花%f小时学习python,感觉%s" %(30,3.5,"累爆了")
    print (res)

    使用字符串类型的,必须使用引号,否则报错

  • 相关阅读:
    Python——str(字符串)内部功能介绍
    Python网络编程——设定并获取默认的套接字超时时间
    Python网络编程——主机字节序和网络字节序之间的相互转换
    Python网络编程——通过指定的端口和协议找到服务名
    python网络编程——将IPv4地址转换成不同的格式
    Python网络编程——获取远程设备的IP地址
    Python网络编程——设备名和IPv4地址
    Python+Flask+MysqL的web建设技术过程
    管理信息系统 第三部分 作业
    模型分离(选做)
  • 原文地址:https://www.cnblogs.com/zyxnhr/p/12261887.html
Copyright © 2020-2023  润新知