您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Python全棧的單項(xiàng)循環(huán)怎么實(shí)現(xiàn)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
多項(xiàng)分支 (多選一)
""" if 條件表達(dá)式1: code1 elif 條件表達(dá)式2: code2 elif 條件表達(dá)式3: code3 else: `code4 如果條件表達(dá)式1成立,執(zhí)行對(duì)應(yīng)的分支code1,反之判斷條件表達(dá)式2是否成立 如果條件表達(dá)式2成立,執(zhí)行對(duì)應(yīng)的分支code2,反之判斷條件表達(dá)式3是否成立 如果條件表達(dá)式3成立,執(zhí)行對(duì)應(yīng)的分支code3,如果不成立,直接走else分支,到此程序執(zhí)行完畢 elif 可以是0個(gè) 或者 多個(gè) else 可以是0個(gè) 或者 一個(gè) """ youqian = False youfang = False youche = False if youqian == True: print("說(shuō)明這個(gè)人很有實(shí)力") elif youfang == True: print("能交給朋友么") elif youche == True: print("開(kāi)了雅迪艾瑪調(diào)動(dòng)車(chē),我們碰一碰吧") else: print("你還是去做美團(tuán)騎手吧") print("<=======================>") # ### 巢狀分支 """單項(xiàng)分支,雙向分支,多項(xiàng)分支的互相嵌套組合""" youqian = True youfang = True youche = True youyanzhi = True youtili = False if youqian == True: if youfang == True: if youche == True: if youyanzhi == True: if youtili == True: print("我要嫁給你~") else: print("你去吃點(diǎn)大腰子再來(lái)~") else: print("你去一下泰國(guó)+韓國(guó),整整容") else: print("你是個(gè)好人吶~") print("<=======================>") #出題 height #女生找對(duì)象 # 男生在1米~1.5米之間 小強(qiáng) 你在哪里? # 男生在1.5~1.7米之間 沒(méi)有安全感~ # 男生 1.7~ 1.8米之間 帥哥 留個(gè)電話(huà) # 男生 1.8~2米之間 帥哥 你建議多一個(gè)女朋友嗎 # python特有(注意:因?yàn)閕nput接受的數(shù)都是字符串,又因?yàn)槲覀儠?huì)輸入小數(shù),所以這里只能用float) """ height = float(input("請(qǐng)輸入您的身高:")) if 1 <= height < 1.5: print("小強(qiáng) 你在哪里?") elif 1.5 <= height < 1.7: print("沒(méi)有安全感~") elif 1.7 <= height < 1.8: print("帥哥 留個(gè)電話(huà)") elif 1.8 <= height < 2: print("你建議多一個(gè)女朋友嗎") else: print("抱歉,沒(méi)有合適的選項(xiàng)") """ # 通用寫(xiě)法 height = float(input("請(qǐng)輸入您的身高:")) if 1 <= height and height < 1.5: print("小強(qiáng) 你在哪里?") elif 1.5 <= height and height < 1.7: print("沒(méi)有安全感~") elif 1.7 <= height and height < 1.8: print("帥哥 留個(gè)電話(huà)") elif 1.8 <= height and height < 2: print("你建議多一個(gè)女朋友嗎") else: print("抱歉,沒(méi)有合適的選項(xiàng)") """ tab 向右縮進(jìn) shift + tab 向左縮進(jìn) """
"""特點(diǎn):減少冗余代碼,提升執(zhí)行效率""" """ 語(yǔ)法: while 條件表達(dá)式: code1 (1) 初始化一個(gè)變量 (2) 寫(xiě)上循環(huán)的條件 (3) 自增自減的值 """ # ### 打印1 ~ 100 # (1) 初始化一個(gè)變量 i = 1 # (2) 寫(xiě)上循環(huán)的條件 while i <= 100: # (4) 寫(xiě)上循環(huán)的邏輯 print(i) # (3) 自增自減的值 i += 1 # i = i + 1 """ 代碼解析: 第一次循環(huán) i = 1 i<=100 判斷為真,執(zhí)行循環(huán)體 print(1) i += 1 i => 2 第二次循環(huán) 代碼回到17行,重新進(jìn)行條件判定 i = 2 i<=100 判斷為真,執(zhí)行循環(huán)體 print(2) i += 1 i => 3 第三次循環(huán) 代碼回到17行,重新進(jìn)行條件判定 i = 3 i<=100 判斷為真,執(zhí)行循環(huán)體 print(3) i += 1 i => 4 .... 以此類(lèi)推 直到i = 101 i <= 100 判斷為假,不執(zhí)行循環(huán)體,到此循環(huán)結(jié)束... 1 ~ 100 """ # ### 1 ~ 100的累加和 # (1) 初始化一個(gè)變量 i = 1 total = 0 # (2) 寫(xiě)上循環(huán)的條件 while i <= 100 : # (4) 寫(xiě)上自定義的邏輯 total += i # (3) 自增自減的值 i += 1 print(total) """ 代碼解析: 第一次循環(huán) i = 1 i <= 100 判定為真True 執(zhí)行循環(huán)體 total += i => total = total + i => 0 + 1 i += 1 => i = 2 第二次循環(huán) i = 2 i <= 100 判定為真True 執(zhí)行循環(huán)體 total += i => total = total + i => 0 + 1 + 2 i += 1 => i = 3 第三次循環(huán) i = 3 i <= 100 判定為真True 執(zhí)行循環(huán)體 total += i => total = total + i => 0 + 1 + 2 + 3 i += 1 => i = 4 ... 依次類(lèi)推 當(dāng)i = 101 101 <= 100 判定為假False 不執(zhí)行循環(huán)體,到此,循環(huán)結(jié)束.. total += i => total + i => 0 + 1 + 2 + 3 + 4 + .... + 100 => 5050 """ # 死循環(huán) """ while True: print(1) """ # ### 用死循環(huán)的方法實(shí)現(xiàn) 1 ~ 100累加和 i = 1 total = 0 sign = True while sign: total += i i+=1 # 判斷i是否加到了101 , 不參與循環(huán) if i == 101: # 終止循環(huán) sign = False print(total) #1 ~ 100 = 5050
# (1)打印 一行十個(gè)小星星* help(print) # help 查看某個(gè)方法的文檔 help(print) """ # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') """ i = 0 while i<10: # end='' 打印時(shí),尾部默認(rèn)不加換行 print("*",end='') i += 1 # 默認(rèn)換行 # print() # (2)通過(guò)打印一個(gè)變量的形式,展現(xiàn)一行十個(gè)小星星 print("<======>") i = 0 strvar = "" while i < 10: # 寫(xiě)上循環(huán)的邏輯 strvar += "*" # strvar = strvar + "*" i +=1 print(strvar) """ strvar += "*" => strvar = "*" strvar += "*" => strvar = "*" + "*" = "**" strvar += "*" => strvar = "**" + "*" = "***" ... strvar += "*" => strvar = "********" + "*" = "*********" """ # (3)一行十個(gè)換色的星星 ★☆★☆★☆★☆★☆ """ # 方法一 i = 0 while i < 5: print("★☆",end="") i+=1 """ # 方法二 i = 0 while i < 10: if i % 2 == 0 : print("★",end="") else: print("☆",end="") i+=1 print("<=============>") # 方法三 i = 0 strvar = "" while i < 10: if i % 2 == 0 : strvar += "★" else: strvar += "☆" i+=1 print(strvar) """ ***公式: 任意數(shù) 和 n 進(jìn)行取余,余數(shù)的范圍: 0 ~ (n-1)*** 0 % 2 = 0 1 % 2 = 1 2 % 2 = 0 3 % 2 = 1 被除數(shù) % 2 => 0 或者 1 0 % 5 = 0 1 % 5 = 1 2 % 5 = 2 3 % 5 = 3 4 % 5 = 4 5 % 5 = 0 6 % 5 = 1 7 % 5 = 2 被除數(shù) % 5 => 0 或者 1,2,3,4 """ # (4)用一個(gè)循環(huán),打印十行十列小星星 """ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ """ # 方法一 i = 0 while i < 100: # 邏輯寫(xiě)在這里 print("*" , end="") # 打印換行 (在9 19 29 .. 99 ) if i % 10 == 9: print() i += 1 """ 0123456789 ********** 10111213141516171819 ********** 20212223242526272829 ********** ... 90919293949596979899 ********** 9 19 29 39 49 59 69 79 89 99 9 % 10 = 9 19 % 10 = 9 29 % 10 = 9 ... 99 % 10 = 9 """ print("<======>") # 方法二 i = 1 while i <= 100: # 邏輯寫(xiě)在這里 print("*" , end="") # 打印換行 (在9 19 29 .. 99 ) if i % 10 == 0: print() i += 1 """ 12345678910 ********** 11121314151617181920 ********** 21222324252627282930 ********** ... 919293949596979899100 ********** 10 20 30 ... 100 """ # (5) 一個(gè)循環(huán)實(shí)現(xiàn)十行十列,格列換色的小星星 """ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ """ i = 0 while i < 100: # (1)打印星星 if i % 2 == 0 : print("★",end="") else: print("☆",end="") # (2)打印換行 (在9 19 29 .. 99 ) if i % 10 == 9: print() i += 1 # (6)一個(gè)循環(huán)實(shí)現(xiàn)十行十列,隔行換色的小星星 """ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ *** 公式:任意數(shù)和n進(jìn)行地板除,會(huì)出現(xiàn)n個(gè)相同的數(shù) 0 // 10 = 0 1 // 10 = 0 2 // 10 = 0 .. 9 // 10 = 0 0 ~ 9 // 10 => 0 (10個(gè)相同的0) 10 // 10 = 1 11 // 10 = 1 12 // 10 = 1 ... 19 // 10 = 1 10 ~ 19 // 10 => 1 (10個(gè)相同的1) .... 以此類(lèi)推 20 ~ 29 // 10 => 2 (10個(gè)相同的2) 30 ~ 39 // 10 => 3 (10個(gè)相同的3) 40 ~ 49 // 10 => 4 (10個(gè)相同的4) ... 90 ~ 99 // 10 => 9 (10個(gè)相同的9) 0~ 100 會(huì)出現(xiàn)10個(gè)相同的0,1,2 , 3 ... 9 0 // 3 0 1 // 3 0 2 // 3 0 3 // 3 1 4 // 3 1 5 // 3 1 """ """""" # 方法一 i = 0 while i < 100: # (1)打印星星 if i // 10 % 2 == 0: print("★",end="") else: print("☆",end="") # (2)打印換行 (在9 19 29 .. 99 ) if i % 10 == 9: print() i += 1 # 方法二 print("<=================>") i = 10 while i < 110: # 打印星星 num = int(str(i)[-2]) if num % 2 == 0 : print("★",end="") else: print("☆",end="") # 打印換行 if i % 10 == 9: print() i+=1 """ 10 ~ 100 101 102 103 110... 10 ~ 19 => 1 20 ~ 29 => 2 30 ~ 39 => 3 90 ~ 99 => 9 100 ~ 109 => 0 """
字符串相關(guān)操作
# (1)字符串的拼接 + str1 = "趙沈陽(yáng)," str2 = "so strong" res = str1 + str2 res = "趙沈陽(yáng)," + "so strong" print(res) # res = res + ",旁邊的同學(xué)很喜歡他~" res += ",旁邊的同學(xué)很喜歡他~" print(res) # (2)字符串的重復(fù) * strvar = "重要的事情說(shuō)三遍~" res = strvar * 3 print(res) # (3)字符串跨行拼接 \ str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \ "1122334" print(str1) # (4)字符串的索引 # 0 1 2 3 4 5 strvar = "趙世超真帥呀" # -6-5-4-3-2-1 print(strvar[1]) # (5)字符串的切片: (截取) """ 語(yǔ)法 => 字符串[::] 完整格式:[開(kāi)始索引:結(jié)束索引:間隔值] (1)[開(kāi)始索引:] 從開(kāi)始索引截取到字符串的最后 (2)[:結(jié)束索引] 從開(kāi)頭截取到結(jié)束索引之前(結(jié)束索引-1) (3)[開(kāi)始索引:結(jié)束索引] 從開(kāi)始索引截取到結(jié)束索引之前(結(jié)束索引-1) (4)[開(kāi)始索引:結(jié)束索引:間隔值] 從開(kāi)始索引截取到結(jié)束索引之前按照指定的間隔截取字符 (5)[:]或[::] 截取所有字符串 """ strvar = "王文是這個(gè)宇宙當(dāng)中,最完美,無(wú)暇,善良,漂亮,英俊,帥氣,瀟灑,風(fēng)流倜儻的神秘男孩" # (1)[開(kāi)始索引:] 從開(kāi)始索引截取到字符串的最后 res = strvar[3:] print(res) # (2)[:結(jié)束索引] 從開(kāi)頭截取到結(jié)束索引之前(結(jié)束索引-1) """4這個(gè)最大值本身獲取不到,要獲取到4之前的那一個(gè)數(shù)據(jù) : 取頭舍尾""" res = strvar[:5] print(res) # (3)[開(kāi)始索引:結(jié)束索引] 從開(kāi)始索引截取到結(jié)束索引之前(結(jié)束索引-1) res = strvar[10:16] print(res) # (4)[開(kāi)始索引:結(jié)束索引:間隔值] 從開(kāi)始索引截取到結(jié)束索引之前按照指定的間隔截取字符 # 從左向右截取 res = strvar[::3] # 0 3 6 9 12 15 ... print(res) # 從右向左截取 res = strvar[::-1] # -1 -2 -3 -4 -5 -6 .... print(res) res = strvar[-3:-10:-2] # -3 -5 -7 -9 秘的倜風(fēng) print(res) print("<====>") """從左到右截,間隔值為正值,反過(guò)來(lái),間隔值是負(fù)值,才能保證截取到數(shù)據(jù)""" """ res = strvar[-3:-10:10] # 錯(cuò)誤的邏輯 print(res) res = strvar[1:10] print(res) """
1.猜大小的游戲: 設(shè)定一個(gè)理想數(shù)字比如:66,讓用戶(hù)輸入數(shù)字,如果比66大,則顯示猜測(cè)的結(jié)果大了;如果比66小,則顯示猜測(cè)的結(jié)果小了;只有等于66,顯示猜測(cè)結(jié)果正確。 2.輸出 1-100 內(nèi)的所有奇數(shù) 3.輸出 1-100 內(nèi)的所有偶數(shù) 4.用戶(hù)登陸(有三次輸錯(cuò)機(jī)會(huì))且每次輸錯(cuò)誤時(shí)顯示剩余錯(cuò)誤次數(shù)(提示:使用字符串格式化) 5.寫(xiě)代碼,有如下字符串利用切片實(shí)現(xiàn)每一個(gè)功能 strvar = "132a4b5c" 1)對(duì)字符串進(jìn)行切片形成新的字符串 "132" 2)對(duì)字符串進(jìn)行切片形成新的字符串 "a4b" 3)對(duì)字符串進(jìn)行切片形成新的字符串 "1245" 4)對(duì)字符串進(jìn)行切片形成新的字符串 "3ab" 5)對(duì)字符串進(jìn)行切片形成新的字符串 "c" 6)對(duì)字符串進(jìn)行切片形成新的字符串 "ba3" 6.國(guó)際棋盤(pán)效果
# 1.猜大小的游戲: # 設(shè)定一個(gè)理想數(shù)字比如:66,讓用戶(hù)輸入數(shù)字,如果比66大,則顯示猜測(cè)的結(jié)果大了;如果比66小,則顯示猜測(cè)的結(jié)果小了;只有等于66,顯示猜測(cè)結(jié)果正確。 """ num = 66 str_num = input("請(qǐng)輸入理想的數(shù)字") num_new = int(str_num) if num_new > num: print("猜測(cè)的結(jié)果大了") elif num_new == num: print("顯示猜測(cè)結(jié)果正確") elif num_new < 66: print("則顯示猜測(cè)的結(jié)果小了") """ # 2.輸出 1-100 內(nèi)的所有奇數(shù) """ i = 1 while i <= 100: if i % 2 == 1: print(i) i +=1 """ # 3.輸出 1-100 內(nèi)的所有偶數(shù) """ i = 1 while i <= 100: if i % 2 == 0: print(i) i +=1 """ # 4.用戶(hù)登陸(有三次輸錯(cuò)機(jī)會(huì))且每次輸錯(cuò)誤時(shí)顯示剩余錯(cuò)誤次數(shù)(提示:使用字符串格式化) """ times = 1 while times <= 3: pwd = input("請(qǐng)輸入您的密碼:") if pwd == "111": print("恭喜你登錄成功~") break # 剩余次數(shù) = 總次數(shù) - 已經(jīng)使用的次數(shù) print("你剩余的輸入次數(shù)是%d" % (3 - times)) times +=1 """ """ sign = True times = 1 while sign: pwd = input("請(qǐng)輸入您的密碼:") if pwd == "111": print("恭喜你登錄成功~") sign = False else: # 剩余次數(shù) = 總次數(shù) - 已經(jīng)使用的次數(shù) print("你剩余的輸入次數(shù)是%d" % (3 - times)) # 如果次數(shù)已經(jīng)是3次了,強(qiáng)制終止循環(huán); if times == 3: print("你已經(jīng)沒(méi)有機(jī)會(huì)了... ") sign = False times +=1 """ # 5.寫(xiě)代碼,有如下字符串利用切片實(shí)現(xiàn)每一個(gè)功能 strvar = "132a4b5c" # 1)對(duì)字符串進(jìn)行切片形成新的字符串 "132" print(strvar[0:3]) # 2)對(duì)字符串進(jìn)行切片形成新的字符串 "a4b" print(strvar[3:6]) # 3)對(duì)字符串進(jìn)行切片形成新的字符串 "1245" print(strvar[::2]) # 4)對(duì)字符串進(jìn)行切片形成新的字符串 "3ab" print(strvar[1:6:2]) # 5)對(duì)字符串進(jìn)行切片形成新的字符串 "c" print(strvar[-1:]) # 6)對(duì)字符串進(jìn)行切片形成新的字符串 "ba3" print(strvar[-3::-2]) # -3 -5 -7 # 6.國(guó)際棋盤(pán)效果 # 方法一 j = 0 while j < 8: # □■□■□■□■ if j % 2 == 0: print("□■□■□■□■",end="") # ■□■□■□■□ else: print("■□■□■□■□",end="") print() j +=1 """ # □■□■□■□■ i = 0 while i < 8: if i % 2 == 0: print("□",end="") else: print("■",end="") i +=1 # ■□■□■□■□ i = 0 while i < 8: if i % 2 == 0: print("■",end="") else: print("□",end="") i +=1 """ print("<=====>") j = 0 while j < 8: # □■□■□■□■ if j % 2 == 0: i = 0 while i < 8: if i % 2 == 0: print("□",end="") else: print("■",end="") i +=1 # ■□■□■□■□ else: i = 0 while i < 8: if i % 2 == 0: print("■",end="") else: print("□",end="") i +=1 print() j +=1 # 方法二 """ □■□■□■□■ ■□■□■□■□ □■□■□■□■ ■□■□■□■□ □■□■□■□■ ■□■□■□■□ □■□■□■□■ ■□■□■□■□ """ print("<=====>") i = 0 while i < 64: # 判斷當(dāng)前是奇數(shù)行還是偶數(shù)行 if i // 8 % 2 == 0: # □■□■□■□■ if i % 2 == 0: print("□",end="") else: print("■",end="") else: # ■□■□■□■□ if i % 2 == 0: print("■",end="") else: print("□",end="") # 第八個(gè)方塊換行 if i % 8 == 7: print() i +=1 print("<=====>") # 方法三 i = 0 while i < 4: strvar = "" j = 0 # 打印黑白相間的小方塊 while j < 8: if j % 2 == 0: strvar += "□" else: strvar += "■" j +=1 # 正向打印 print(strvar) # 逆向打印 print(strvar[::-1]) i +=1
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注億速云的更多內(nèi)容!
多項(xiàng)分支 (多選一)
""" if 條件表達(dá)式1: code1 elif 條件表達(dá)式2: code2 elif 條件表達(dá)式3: code3 else: `code4 如果條件表達(dá)式1成立,執(zhí)行對(duì)應(yīng)的分支code1,反之判斷條件表達(dá)式2是否成立 如果條件表達(dá)式2成立,執(zhí)行對(duì)應(yīng)的分支code2,反之判斷條件表達(dá)式3是否成立 如果條件表達(dá)式3成立,執(zhí)行對(duì)應(yīng)的分支code3,如果不成立,直接走else分支,到此程序執(zhí)行完畢 elif 可以是0個(gè) 或者 多個(gè) else 可以是0個(gè) 或者 一個(gè) """ youqian = False youfang = False youche = False if youqian == True: print("說(shuō)明這個(gè)人很有實(shí)力") elif youfang == True: print("能交給朋友么") elif youche == True: print("開(kāi)了雅迪艾瑪調(diào)動(dòng)車(chē),我們碰一碰吧") else: print("你還是去做美團(tuán)騎手吧") print("<=======================>") # ### 巢狀分支 """單項(xiàng)分支,雙向分支,多項(xiàng)分支的互相嵌套組合""" youqian = True youfang = True youche = True youyanzhi = True youtili = False if youqian == True: if youfang == True: if youche == True: if youyanzhi == True: if youtili == True: print("我要嫁給你~") else: print("你去吃點(diǎn)大腰子再來(lái)~") else: print("你去一下泰國(guó)+韓國(guó),整整容") else: print("你是個(gè)好人吶~") print("<=======================>") #出題 height #女生找對(duì)象 # 男生在1米~1.5米之間 小強(qiáng) 你在哪里? # 男生在1.5~1.7米之間 沒(méi)有安全感~ # 男生 1.7~ 1.8米之間 帥哥 留個(gè)電話(huà) # 男生 1.8~2米之間 帥哥 你建議多一個(gè)女朋友嗎 # python特有(注意:因?yàn)閕nput接受的數(shù)都是字符串,又因?yàn)槲覀儠?huì)輸入小數(shù),所以這里只能用float) """ height = float(input("請(qǐng)輸入您的身高:")) if 1 <= height < 1.5: print("小強(qiáng) 你在哪里?") elif 1.5 <= height < 1.7: print("沒(méi)有安全感~") elif 1.7 <= height < 1.8: print("帥哥 留個(gè)電話(huà)") elif 1.8 <= height < 2: print("你建議多一個(gè)女朋友嗎") else: print("抱歉,沒(méi)有合適的選項(xiàng)") """ # 通用寫(xiě)法 height = float(input("請(qǐng)輸入您的身高:")) if 1 <= height and height < 1.5: print("小強(qiáng) 你在哪里?") elif 1.5 <= height and height < 1.7: print("沒(méi)有安全感~") elif 1.7 <= height and height < 1.8: print("帥哥 留個(gè)電話(huà)") elif 1.8 <= height and height < 2: print("你建議多一個(gè)女朋友嗎") else: print("抱歉,沒(méi)有合適的選項(xiàng)") """ tab 向右縮進(jìn) shift + tab 向左縮進(jìn) """
"""特點(diǎn):減少冗余代碼,提升執(zhí)行效率""" """ 語(yǔ)法: while 條件表達(dá)式: code1 (1) 初始化一個(gè)變量 (2) 寫(xiě)上循環(huán)的條件 (3) 自增自減的值 """ # ### 打印1 ~ 100 # (1) 初始化一個(gè)變量 i = 1 # (2) 寫(xiě)上循環(huán)的條件 while i <= 100: # (4) 寫(xiě)上循環(huán)的邏輯 print(i) # (3) 自增自減的值 i += 1 # i = i + 1 """ 代碼解析: 第一次循環(huán) i = 1 i<=100 判斷為真,執(zhí)行循環(huán)體 print(1) i += 1 i => 2 第二次循環(huán) 代碼回到17行,重新進(jìn)行條件判定 i = 2 i<=100 判斷為真,執(zhí)行循環(huán)體 print(2) i += 1 i => 3 第三次循環(huán) 代碼回到17行,重新進(jìn)行條件判定 i = 3 i<=100 判斷為真,執(zhí)行循環(huán)體 print(3) i += 1 i => 4 .... 以此類(lèi)推 直到i = 101 i <= 100 判斷為假,不執(zhí)行循環(huán)體,到此循環(huán)結(jié)束... 1 ~ 100 """ # ### 1 ~ 100的累加和 # (1) 初始化一個(gè)變量 i = 1 total = 0 # (2) 寫(xiě)上循環(huán)的條件 while i <= 100 : # (4) 寫(xiě)上自定義的邏輯 total += i # (3) 自增自減的值 i += 1 print(total) """ 代碼解析: 第一次循環(huán) i = 1 i <= 100 判定為真True 執(zhí)行循環(huán)體 total += i => total = total + i => 0 + 1 i += 1 => i = 2 第二次循環(huán) i = 2 i <= 100 判定為真True 執(zhí)行循環(huán)體 total += i => total = total + i => 0 + 1 + 2 i += 1 => i = 3 第三次循環(huán) i = 3 i <= 100 判定為真True 執(zhí)行循環(huán)體 total += i => total = total + i => 0 + 1 + 2 + 3 i += 1 => i = 4 ... 依次類(lèi)推 當(dāng)i = 101 101 <= 100 判定為假False 不執(zhí)行循環(huán)體,到此,循環(huán)結(jié)束.. total += i => total + i => 0 + 1 + 2 + 3 + 4 + .... + 100 => 5050 """ # 死循環(huán) """ while True: print(1) """ # ### 用死循環(huán)的方法實(shí)現(xiàn) 1 ~ 100累加和 i = 1 total = 0 sign = True while sign: total += i i+=1 # 判斷i是否加到了101 , 不參與循環(huán) if i == 101: # 終止循環(huán) sign = False print(total) #1 ~ 100 = 5050
# (1)打印 一行十個(gè)小星星* help(print) # help 查看某個(gè)方法的文檔 help(print) """ # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') # print("*",end='') """ i = 0 while i<10: # end='' 打印時(shí),尾部默認(rèn)不加換行 print("*",end='') i += 1 # 默認(rèn)換行 # print() # (2)通過(guò)打印一個(gè)變量的形式,展現(xiàn)一行十個(gè)小星星 print("<======>") i = 0 strvar = "" while i < 10: # 寫(xiě)上循環(huán)的邏輯 strvar += "*" # strvar = strvar + "*" i +=1 print(strvar) """ strvar += "*" => strvar = "*" strvar += "*" => strvar = "*" + "*" = "**" strvar += "*" => strvar = "**" + "*" = "***" ... strvar += "*" => strvar = "********" + "*" = "*********" """ # (3)一行十個(gè)換色的星星 ★☆★☆★☆★☆★☆ """ # 方法一 i = 0 while i < 5: print("★☆",end="") i+=1 """ # 方法二 i = 0 while i < 10: if i % 2 == 0 : print("★",end="") else: print("☆",end="") i+=1 print("<=============>") # 方法三 i = 0 strvar = "" while i < 10: if i % 2 == 0 : strvar += "★" else: strvar += "☆" i+=1 print(strvar) """ ***公式: 任意數(shù) 和 n 進(jìn)行取余,余數(shù)的范圍: 0 ~ (n-1)*** 0 % 2 = 0 1 % 2 = 1 2 % 2 = 0 3 % 2 = 1 被除數(shù) % 2 => 0 或者 1 0 % 5 = 0 1 % 5 = 1 2 % 5 = 2 3 % 5 = 3 4 % 5 = 4 5 % 5 = 0 6 % 5 = 1 7 % 5 = 2 被除數(shù) % 5 => 0 或者 1,2,3,4 """ # (4)用一個(gè)循環(huán),打印十行十列小星星 """ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ ★★★★★★★★★★ """ # 方法一 i = 0 while i < 100: # 邏輯寫(xiě)在這里 print("*" , end="") # 打印換行 (在9 19 29 .. 99 ) if i % 10 == 9: print() i += 1 """ 0123456789 ********** 10111213141516171819 ********** 20212223242526272829 ********** ... 90919293949596979899 ********** 9 19 29 39 49 59 69 79 89 99 9 % 10 = 9 19 % 10 = 9 29 % 10 = 9 ... 99 % 10 = 9 """ print("<======>") # 方法二 i = 1 while i <= 100: # 邏輯寫(xiě)在這里 print("*" , end="") # 打印換行 (在9 19 29 .. 99 ) if i % 10 == 0: print() i += 1 """ 12345678910 ********** 11121314151617181920 ********** 21222324252627282930 ********** ... 919293949596979899100 ********** 10 20 30 ... 100 """ # (5) 一個(gè)循環(huán)實(shí)現(xiàn)十行十列,格列換色的小星星 """ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ ★☆★☆★☆★☆★☆ """ i = 0 while i < 100: # (1)打印星星 if i % 2 == 0 : print("★",end="") else: print("☆",end="") # (2)打印換行 (在9 19 29 .. 99 ) if i % 10 == 9: print() i += 1 # (6)一個(gè)循環(huán)實(shí)現(xiàn)十行十列,隔行換色的小星星 """ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ ★★★★★★★★★★ ☆☆☆☆☆☆☆☆☆☆ *** 公式:任意數(shù)和n進(jìn)行地板除,會(huì)出現(xiàn)n個(gè)相同的數(shù) 0 // 10 = 0 1 // 10 = 0 2 // 10 = 0 .. 9 // 10 = 0 0 ~ 9 // 10 => 0 (10個(gè)相同的0) 10 // 10 = 1 11 // 10 = 1 12 // 10 = 1 ... 19 // 10 = 1 10 ~ 19 // 10 => 1 (10個(gè)相同的1) .... 以此類(lèi)推 20 ~ 29 // 10 => 2 (10個(gè)相同的2) 30 ~ 39 // 10 => 3 (10個(gè)相同的3) 40 ~ 49 // 10 => 4 (10個(gè)相同的4) ... 90 ~ 99 // 10 => 9 (10個(gè)相同的9) 0~ 100 會(huì)出現(xiàn)10個(gè)相同的0,1,2 , 3 ... 9 0 // 3 0 1 // 3 0 2 // 3 0 3 // 3 1 4 // 3 1 5 // 3 1 """ """""" # 方法一 i = 0 while i < 100: # (1)打印星星 if i // 10 % 2 == 0: print("★",end="") else: print("☆",end="") # (2)打印換行 (在9 19 29 .. 99 ) if i % 10 == 9: print() i += 1 # 方法二 print("<=================>") i = 10 while i < 110: # 打印星星 num = int(str(i)[-2]) if num % 2 == 0 : print("★",end="") else: print("☆",end="") # 打印換行 if i % 10 == 9: print() i+=1 """ 10 ~ 100 101 102 103 110... 10 ~ 19 => 1 20 ~ 29 => 2 30 ~ 39 => 3 90 ~ 99 => 9 100 ~ 109 => 0 """
字符串相關(guān)操作
# (1)字符串的拼接 + str1 = "趙沈陽(yáng)," str2 = "so strong" res = str1 + str2 res = "趙沈陽(yáng)," + "so strong" print(res) # res = res + ",旁邊的同學(xué)很喜歡他~" res += ",旁邊的同學(xué)很喜歡他~" print(res) # (2)字符串的重復(fù) * strvar = "重要的事情說(shuō)三遍~" res = strvar * 3 print(res) # (3)字符串跨行拼接 \ str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \ "1122334" print(str1) # (4)字符串的索引 # 0 1 2 3 4 5 strvar = "趙世超真帥呀" # -6-5-4-3-2-1 print(strvar[1]) # (5)字符串的切片: (截取) """ 語(yǔ)法 => 字符串[::] 完整格式:[開(kāi)始索引:結(jié)束索引:間隔值] (1)[開(kāi)始索引:] 從開(kāi)始索引截取到字符串的最后 (2)[:結(jié)束索引] 從開(kāi)頭截取到結(jié)束索引之前(結(jié)束索引-1) (3)[開(kāi)始索引:結(jié)束索引] 從開(kāi)始索引截取到結(jié)束索引之前(結(jié)束索引-1) (4)[開(kāi)始索引:結(jié)束索引:間隔值] 從開(kāi)始索引截取到結(jié)束索引之前按照指定的間隔截取字符 (5)[:]或[::] 截取所有字符串 """ strvar = "王文是這個(gè)宇宙當(dāng)中,最完美,無(wú)暇,善良,漂亮,英俊,帥氣,瀟灑,風(fēng)流倜儻的神秘男孩" # (1)[開(kāi)始索引:] 從開(kāi)始索引截取到字符串的最后 res = strvar[3:] print(res) # (2)[:結(jié)束索引] 從開(kāi)頭截取到結(jié)束索引之前(結(jié)束索引-1) """4這個(gè)最大值本身獲取不到,要獲取到4之前的那一個(gè)數(shù)據(jù) : 取頭舍尾""" res = strvar[:5] print(res) # (3)[開(kāi)始索引:結(jié)束索引] 從開(kāi)始索引截取到結(jié)束索引之前(結(jié)束索引-1) res = strvar[10:16] print(res) # (4)[開(kāi)始索引:結(jié)束索引:間隔值] 從開(kāi)始索引截取到結(jié)束索引之前按照指定的間隔截取字符 # 從左向右截取 res = strvar[::3] # 0 3 6 9 12 15 ... print(res) # 從右向左截取 res = strvar[::-1] # -1 -2 -3 -4 -5 -6 .... print(res) res = strvar[-3:-10:-2] # -3 -5 -7 -9 秘的倜風(fēng) print(res) print("<====>") """從左到右截,間隔值為正值,反過(guò)來(lái),間隔值是負(fù)值,才能保證截取到數(shù)據(jù)""" """ res = strvar[-3:-10:10] # 錯(cuò)誤的邏輯 print(res) res = strvar[1:10] print(res) """
1.猜大小的游戲: 設(shè)定一個(gè)理想數(shù)字比如:66,讓用戶(hù)輸入數(shù)字,如果比66大,則顯示猜測(cè)的結(jié)果大了;如果比66小,則顯示猜測(cè)的結(jié)果小了;只有等于66,顯示猜測(cè)結(jié)果正確。 2.輸出 1-100 內(nèi)的所有奇數(shù) 3.輸出 1-100 內(nèi)的所有偶數(shù) 4.用戶(hù)登陸(有三次輸錯(cuò)機(jī)會(huì))且每次輸錯(cuò)誤時(shí)顯示剩余錯(cuò)誤次數(shù)(提示:使用字符串格式化) 5.寫(xiě)代碼,有如下字符串利用切片實(shí)現(xiàn)每一個(gè)功能 strvar = "132a4b5c" 1)對(duì)字符串進(jìn)行切片形成新的字符串 "132" 2)對(duì)字符串進(jìn)行切片形成新的字符串 "a4b" 3)對(duì)字符串進(jìn)行切片形成新的字符串 "1245" 4)對(duì)字符串進(jìn)行切片形成新的字符串 "3ab" 5)對(duì)字符串進(jìn)行切片形成新的字符串 "c" 6)對(duì)字符串進(jìn)行切片形成新的字符串 "ba3" 6.國(guó)際棋盤(pán)效果
# 1.猜大小的游戲: # 設(shè)定一個(gè)理想數(shù)字比如:66,讓用戶(hù)輸入數(shù)字,如果比66大,則顯示猜測(cè)的結(jié)果大了;如果比66小,則顯示猜測(cè)的結(jié)果小了;只有等于66,顯示猜測(cè)結(jié)果正確。 """ num = 66 str_num = input("請(qǐng)輸入理想的數(shù)字") num_new = int(str_num) if num_new > num: print("猜測(cè)的結(jié)果大了") elif num_new == num: print("顯示猜測(cè)結(jié)果正確") elif num_new < 66: print("則顯示猜測(cè)的結(jié)果小了") """ # 2.輸出 1-100 內(nèi)的所有奇數(shù) """ i = 1 while i <= 100: if i % 2 == 1: print(i) i +=1 """ # 3.輸出 1-100 內(nèi)的所有偶數(shù) """ i = 1 while i <= 100: if i % 2 == 0: print(i) i +=1 """ # 4.用戶(hù)登陸(有三次輸錯(cuò)機(jī)會(huì))且每次輸錯(cuò)誤時(shí)顯示剩余錯(cuò)誤次數(shù)(提示:使用字符串格式化) """ times = 1 while times <= 3: pwd = input("請(qǐng)輸入您的密碼:") if pwd == "111": print("恭喜你登錄成功~") break # 剩余次數(shù) = 總次數(shù) - 已經(jīng)使用的次數(shù) print("你剩余的輸入次數(shù)是%d" % (3 - times)) times +=1 """ """ sign = True times = 1 while sign: pwd = input("請(qǐng)輸入您的密碼:") if pwd == "111": print("恭喜你登錄成功~") sign = False else: # 剩余次數(shù) = 總次數(shù) - 已經(jīng)使用的次數(shù) print("你剩余的輸入次數(shù)是%d" % (3 - times)) # 如果次數(shù)已經(jīng)是3次了,強(qiáng)制終止循環(huán); if times == 3: print("你已經(jīng)沒(méi)有機(jī)會(huì)了... ") sign = False times +=1 """ # 5.寫(xiě)代碼,有如下字符串利用切片實(shí)現(xiàn)每一個(gè)功能 strvar = "132a4b5c" # 1)對(duì)字符串進(jìn)行切片形成新的字符串 "132" print(strvar[0:3]) # 2)對(duì)字符串進(jìn)行切片形成新的字符串 "a4b" print(strvar[3:6]) # 3)對(duì)字符串進(jìn)行切片形成新的字符串 "1245" print(strvar[::2]) # 4)對(duì)字符串進(jìn)行切片形成新的字符串 "3ab" print(strvar[1:6:2]) # 5)對(duì)字符串進(jìn)行切片形成新的字符串 "c" print(strvar[-1:]) # 6)對(duì)字符串進(jìn)行切片形成新的字符串 "ba3" print(strvar[-3::-2]) # -3 -5 -7 # 6.國(guó)際棋盤(pán)效果 # 方法一 j = 0 while j < 8: # □■□■□■□■ if j % 2 == 0: print("□■□■□■□■",end="") # ■□■□■□■□ else: print("■□■□■□■□",end="") print() j +=1 """ # □■□■□■□■ i = 0 while i < 8: if i % 2 == 0: print("□",end="") else: print("■",end="") i +=1 # ■□■□■□■□ i = 0 while i < 8: if i % 2 == 0: print("■",end="") else: print("□",end="") i +=1 """ print("<=====>") j = 0 while j < 8: # □■□■□■□■ if j % 2 == 0: i = 0 while i < 8: if i % 2 == 0: print("□",end="") else: print("■",end="") i +=1 # ■□■□■□■□ else: i = 0 while i < 8: if i % 2 == 0: print("■",end="") else: print("□",end="") i +=1 print() j +=1 # 方法二 """ □■□■□■□■ ■□■□■□■□ □■□■□■□■ ■□■□■□■□ □■□■□■□■ ■□■□■□■□ □■□■□■□■ ■□■□■□■□ """ print("<=====>") i = 0 while i < 64: # 判斷當(dāng)前是奇數(shù)行還是偶數(shù)行 if i // 8 % 2 == 0: # □■□■□■□■ if i % 2 == 0: print("□",end="") else: print("■",end="") else: # ■□■□■□■□ if i % 2 == 0: print("■",end="") else: print("□",end="") # 第八個(gè)方塊換行 if i % 8 == 7: print() i +=1 print("<=====>") # 方法三 i = 0 while i < 4: strvar = "" j = 0 # 打印黑白相間的小方塊 while j < 8: if j % 2 == 0: strvar += "□" else: strvar += "■" j +=1 # 正向打印 print(strvar) # 逆向打印 print(strvar[::-1]) i +=1
“Python全棧的單項(xiàng)循環(huán)怎么實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。