背景
昨天,為小朋友介紹了 什麼是變量、什麼是運算符以及運算符的優先級、什麼是數據類型以及類型之間的相互轉換。
- 教小朋友學 Python -- 變量、運算符與數據類型
今天,為小朋友介紹程序設計語言中最常見的兩種語句,第一種是條件語句,第二種是循環語句。
Python 基本語法
1. 條件語句
if 語句
if expression: expr_true_suite
- if 語句的expr_true_suite代碼塊只有當條件表達式expression結果為真時才執行,否則將繼續執行緊跟在該代碼塊後面的語句。
- 單個 if 語句中的expression條件表達式可以通過布爾操作符and,or和not實現多重條件判斷。
if 2 > 1 and not 2 > 3: print('Correct Judgement!')
else 語句
if expression: expr_true_suite else expr_false_suite
- Python 提供與 if 搭配使用的 else,如果 if 語句的條件表達式結果布爾值為假,那麼程序將執行 else 語句後的代碼。
temp = input("不妨猜一下小哥哥現在心裡想的是那個數字:") guess = int(temp) if guess == 8: print("你是小哥哥心裡的蛔蟲嗎?") print("哼,猜對也沒有獎勵!") else: print("猜錯了,小哥哥現在心裡想的是8!") print("遊戲結束,不玩兒啦!")
- Python 使用縮進而不是大括號來標記代碼塊邊界,因此要特別注意 else 的懸掛問題。
例子1
hi = 6 if hi > 2: if hi > 7: print('好棒!好棒!') else: print('切~')
例子2
temp = input("不妨猜一下小哥哥現在心裡想的是那個數字:") guess = int(temp) if guess > 8: print("大了,大了") else: if guess == 8: print("你是小哥哥心裡的蛔蟲嗎?") print("哼,猜對也沒有獎勵!") else: print("小了,小了") print("遊戲結束,不玩兒啦!")
elif 語句
if expression1: expr1_true_suite elif expression2: expr2_true_suite . . elif expressionN: exprN_true_suite else: expr_false_suite
- elif 語句即為 else if,用來檢查多個表達式是否為真,並在為真時執行特定代碼塊中的代碼。
temp = input('請輸入成績:') source = int(temp) if 100 >= source >= 90: print('A') elif 90 > source >= 80: print('B') elif 80 > source >= 60: print('C') elif 60 > source >= 0: print('D') else: print('輸入錯誤!')
assert 關鍵詞
- assert這個關鍵詞我們稱之為“斷言”,當這個關鍵詞後邊的條件為 False 時,程序自動崩潰並拋出AssertionError的異常。
- 在進行單元測試時,可以用來在程序中置入檢查點,只有條件為 True 才能讓程序正常工作。
assert 3 > 7
2. 循環語句
while 循環
while expression: suite_to_repeat
- while循環的suite_to_repeat子句會一直循環執行,直到expression值為布爾假
count = 0 while count < 3: temp = input("不妨猜一下小哥哥現在心裡想的是那個數字:") guess = int(temp) if guess > 8: print("大了,大了") else: if guess == 8: print("你是小哥哥心裡的蛔蟲嗎?") print("哼,猜對也沒有獎勵!") count = 3 else: print("小了,小了") count = count + 1 print("遊戲結束,不玩兒啦!")
for 循環
for iter_var in interables: suite_to_repeat
- 每次循環,iter_var迭代變量被設置為可迭代對象interales的當前元素,提供給suite_to_repeat語句塊使用。
例子1
for i in 'ILoveLSGO': print(i, end=' ') #不換行輸出
例子2
member = ['張三', '李四', '劉德華', '劉六', '周潤發'] for each in member: print(each) for i in range(len(member)): print(member[i])
range() 函數
range([start,] stop[, step=1])
- 這個BIF(Built-in functions)有三個參數,其中用中括號括起來的兩個表示這兩個參數是可選的。
- step=1 表示第三個參數的默認值是1。
- range 這個BIF的作用是生成一個從start參數的值開始到stop參數的值結束的數字序列,該序列包含start的值但不包含stop的值。
例子1
for i in range(2, 9): #不包含9 print(i)
例子2
for i in range(1, 10, 2): print(i)
break 語句
- break語句可以跳出當前所在層的循環。
import random secret = random.randint(1, 10) #[1,10]之間的隨機數 while True: temp = input("不妨猜一下小哥哥現在心裡想的是那個數字:") guess = int(temp) if guess > secret: print("大了,大了") else: if guess == secret: print("你是小哥哥心裡的蛔蟲嗎?") print("哼,猜對也沒有獎勵!") break else: print("小了,小了") print("遊戲結束,不玩兒啦!")
continue 語句
- continue終止本輪循環並開始下一輪循環。
for i in range(10): if i % 2 != 0: print(i) continue i += 2 print(i)
pass 語句
def a_func(): # SyntaxError: unexpected EOF while parsing
- pass語句的意思是“不做任何事”,如果你在需要有語句的地方不寫任何語句,那麼解釋器會提示出錯,而pass語句就是用來解決這些問題的。
def a_func(): pass
3. 綜合例子
passwdList = ['123', '345', '890'] valid = False count = 3 while count > 0: password = input('enter password:') for item in passwdList: if password == item: valid = True break if not valid: print('invalid input') count -= 1 continue else: break
總結
好了,到此為止有關於條件和循環語句的內容就介紹完了。小朋友們要刻意練習哦,基於這些語句,我們後面能做很炫的遊戲來玩兒!是不是有些小期待!
相關圖文:
- 資料分享:數學建模資料分享 -- 圖論部分
- 資料分享:數學建模資料分享 -- 神經網絡部分
- 如何利用 C# 實現 K 最鄰近算法?
- 如何利用 C# 實現 K-D Tree 結構?
- 如何利用 C# + KDTree 實現 K 最鄰近算法?
- 如何利用 C# 對神經網絡模型進行抽象?
- 如何利用 C# 實現神經網絡的感知器模型?
- 如何利用 C# 實現 Delta 學習規則?
- 如何利用 C# 實現 誤差反向傳播 學習規則?
- 如何利用 C# 爬取帶 Token 驗證的網站數據?
- 如何利用 C# 向 Access 數據庫插入大量數據?
- 如何利用 C# + Python 破解貓眼電影的反爬蟲機制?
經過8年多的發展,LSGO軟件技術團隊在「地理信息系統」、「數據統計分析」、「計算機視覺」等領域積累了豐富的研發經驗,也建立了人才培養的完備體系,由於自己準備在「量化交易」領域精進技能,如果大家對這個領域感興趣可以與我聯繫,加入我們的量化學習群一起學習探討。
在這個領域我已做了以下積累:
策略部分:
- 數字貨幣 One 的投資價值分析
- 數字資產量化中的跨市場套利策略
- 數字資產量化中的同市場套利策略
- 數字資產量化中的網格交易法
- 我們能否效仿李笑來的投資策略?
- 賺錢是剛需,如何正確的交易股票?
數據部分:
- 如何利用 C# 爬取 One 的交易數據?
- 如何利用 C# 爬取 One 持有者返利數據?
- 如何利用 C# 爬取BigOne交易所的公告?
- 如何利用 C# 爬取Gate.io交易所的公告?
- 如何利用 C# 爬取「財報說」中的股票數據?
自動化交易部分:
- 封裝BigOne API:身份驗證
- 封裝BigOne API:獲取賬戶資產
- 封裝BigOne API:訂單系統
- 封裝BigOne API:網格交易法
- 封裝BigOne API:代碼的重構
- 進一步完善自動化交易系統01
- 進一步完善自動化交易系統02
- 如何開發「股票數據分析軟件」(上)
- 如何開發「股票數據分析軟件」(中)
- 如何開發「股票數據分析軟件」(下)
- 進一步完善「股票數據分析軟件」 - 01
後臺回覆「搜搜搜」,隨機獲取電子資源!
歡迎關注,請掃描二維碼: