偷摸學Python第五天:循環結構

人生苦短我用Python

偷摸學Python第五天:循環結構

古之立大事者,不惟有超世之才,亦必有堅忍不拔之志。——蘇軾

目標:可以用Python做一些簡單的數據分析。
在這裏插入圖片描述

堅持完成自己的目標!勿忘初心~

應用場景

需要重複執行某條或某些指令的的時候就用到了循環結構。例如大魚喫小魚遊戲的小雨只要不會喫到比自己大的魚的時候就一直不會死。

循環流程圖

在Python中構造循環結構有兩種做法,一種是for-in循環,一種是while循環。

for-in循環

語法結構

for <variable> in <sequence>:
    <statements>

流程圖

range()函數

生成一組數列,range()的幾種用法

  • range(101):可以用來產生0到100範圍的整數,需要注意的是取不到101。
  • range(1, 101):可以用來產生1到100範圍的整數,相當於前面是閉區間後面是開區間。
  • range(1, 101, 2):可以用來產生1到100的奇數,其中2是步長,即每次數值遞增的值。
  • range(100, 0, -2):可以用來產生100到1的偶數,其中-2是步長,即每次數字遞減的值。

實例1:計算1-100的和

# 用來存儲每次計算的結果
sum = 0
for i in range(101):
     sum += i # 這裏等同於sum=sum+1
print(sum)

實例2:計算1-100偶數的和

# 用來存儲每次計算的結果
sum = 0
for i in range(0, 101, 2):
     sum += i
print(sum)

從0開始,每次步長爲2,就跳過了單數

實例3:計算1-100奇數的和

可以從1開始,步長爲2,這樣就跳過了偶數,也可以通過嵌套分支結構來實現,例如

# 用來存儲每次計算的結果
sum = 0
for i in range(101):
     if i % 2 == 1: # 因爲單數除2餘1,所以只有滿足這個條件,纔可以進行累加計算
          sum += i
print(sum)

while循環

while循環通過一個能夠產生或轉換出bool值的表達式來控制循環,表達式的值爲True則繼續循環;表達式的值爲False則結束循環。

語法結構

while 判斷條件:
    執行語句……

執行流程圖

通過while語句來實現1-100累加的結果

# 用來存儲每次計算的結果
sum = 0
# 設置開始的值
i = 1
# 設置允許循環的最大值
n = 100
while i <= n:
     sum +=i
     i +=1
print(sum)

break 和 continue 語句

break 語句可以跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止。

continue 語句被用來告訴 Python 跳過當前循環塊中的剩餘語句,然後繼續進行下一輪循環。

代碼執行流程

實例:猜字遊戲

規則:計算機出一個1到100之間的隨機數,玩家輸入自己猜的數字,計算機給出對應的提示信息(大一點、小一點或猜對了),如果玩家猜中了數字,計算機提示用戶一共猜了多少次,遊戲結束,否則遊戲繼續;如果次數大於5次,則退出循環。

import random # 導入隨機數模塊

answer = random.randint(1, 100) # 生成1-100的隨機數
counter = 0 # 將次數初始爲0
while True:
    number = int(input('請輸入: '))
    if number < answer:
        print('大一點')
        counter += 1
    elif number > answer:
        print('小一點')
        counter += 1
    else:
        print('恭喜你猜對了!')
        break # 如果猜對了 就跳出循環
    if counter >= 5: # 次數大於5則退出這個系統
         print('你的智商餘額明顯不足')
         break
print('你總共猜了%d次' % counter)

循環嵌套

和分支結構一樣,循環結構也是可以嵌套的,也就是說在循環中還可以構造循環結構

實例1:通過for…in語句打印99乘法表

for x in range(1,10):
     for y in range(1,x+1):
          print("%d * %d = %d" % (y, x, x*y) , end="  ")
     print()

實例2:通過while語句打印99乘法表

x = 1
y = 1
while x <= 9:
     y = 1 # 每執行完一次子循環,y重置爲1
     while y <= x:          
          print("%d * %d = %d" % (y, x, x*y) , end="  ")
          y +=1
     x +=1
     print()# 每一句結束一個換行

今日學習總結

今天學習了for..inwhile循環結構語句以及嵌套結構,以及range()函數和breakcontinue語句,複習了佔位符使用

明日學習計劃

構造代碼邏輯,練習經典案例

甜甜有話說

感覺過了今天思維得到了昇華,原來所有的程序都是這樣一步一不的構造出來了

座右銘:不要在該奮鬥的年紀選擇安逸!!

加油

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章