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)

使用字符串類型的,必須使用引號,否則報錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM