Python自學記錄——條件判斷語句和循環語句

條件判斷語句和循環語句都是編寫代碼中經常用到的語句,下面就簡單說下:

條件判斷語句

條件判斷語句的是:

if(判斷內容):
    執行內容1
elif(判斷內容):
    執行內容2
else:
    執行內容3

使用時要注意判斷格式,換行後第二行要縮進四個空格,否則會報錯。

以上述代碼爲例,if 後面的括號內,放入的首次判斷的內容,若正確,執行 執行內容1 ,執行完成後,跳過剩餘判斷語句;若錯誤,則跳過 執行內容1 ,開始執行 elif 括號裏的內容,若正確,執行 執行內容2 ,執行完成後,跳過剩餘判斷語句;若錯誤,則跳過 執行內容2 ,直接開始執行else裏的 執行內容3。示例如下:

設置 a = 20 

由於 a = 20 > 10 ,則執行第一個判斷成功後,執行下面的語句print('a大於10'),之後跳過剩餘語句。

有幾點需要注意

 

  1. 一個條件判斷語句中可以有多個 elif 。
  2. 一個條件判斷語句中最多只能有一個 else ,條件判斷語句可以沒有else。
  3. 條件判斷語句判斷成功後,執行當前成功判斷裏的代碼,執行完成後,直接跳過剩餘條件判斷語句。

其中,判斷內容 一般是條件判斷語句,例如:2>1 ,或者是 3>5 等,結果是返回 TrueFalse 的,示例如下:

判斷內容 處也可放入 變量,只要變量是非零數值、非空字符串、非空list等,都判斷爲 True ,否則判斷爲 False,示例如下:

測試判斷語句的小例子:

通過輸入身高和體重信息,計算BMI值,並給出友善提醒,代碼如下:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*- 
height = input('請輸入您的身高(單位:米):'.decode("utf-8").encode("gbk"))
weight = input('請輸入您的體重(單位:千克):'.decode("utf-8").encode("gbk"))
bmi = weight/(height*height)
print(bmi)
if bmi< 18.5:
	print('您的體重過輕,要多吃肉~~'.decode("utf-8").encode("gbk"))
elif bmi>= 18.5 and bmi<=25:
	print('您的體重正常,注意保持哈~~'.decode("utf-8").encode("gbk"))
elif bmi>25 and bmi<=28:
	print('您的體重過重,要多出門呼吸新鮮空氣吶~~'.decode("utf-8").encode("gbk"))
elif bmi>28 and bmi<=32:
	print('您的體重肥胖,要多運動,少吃肉~~'.decode("utf-8").encode("gbk"))
elif bmi>32:
	print('您的體重嚴重肥胖,爲了您的健康,及時就醫諮詢減重吶~~'.decode("utf-8").encode("gbk"))
else:
	print('請正確輸入您的身高或體重信息'.decode("utf-8").encode("gbk"))

我使用的是Python2.7.15,執行時,發現中文亂碼,在網上找到個例子,如上述代碼所示,在字符串後面添加代碼設置其字符串編碼。先把數據通過decode('utf-8')轉爲字符串編碼爲utf-8的字符,再通過encode('gbk')轉爲cmd可以識別的GBK編碼。這樣就不會出現編碼異常的問題。運行結果如下:

由於上述代碼寫的不完善,測試時請按照指定格式測試,否則會報錯。

在Python3下 不去字符轉碼,但是輸入的身高體重信息需要轉爲相應格式,在Python下,input 默認輸入的是 字符串,需要轉換成對應格式,具體如下:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*- 
height = input('請輸入您的身高(單位:米):')
weight = input('請輸入您的體重(單位:千克):')
height = float(height)
weight = int(weight)
bmi = weight/(height*height)
print(bmi)
if bmi< 18.5:
	print('您的體重過輕,要多吃肉~~')
elif bmi>= 18.5 and bmi<=25:
	print('您的體重正常,注意保持哈~~')
elif bmi>25 and bmi<=28:
	print('您的體重過重,要多出門呼吸新鮮空氣吶~~')
elif bmi>28 and bmi<=32:
	print('您的體重肥胖,要多運動,少吃肉~~')
elif bmi>32:
	print('您的體重嚴重肥胖,爲了您的健康,及時就醫諮詢減重吶~~')
else:
	print('請正確輸入您的身高或體重信息')	print('您的體重過輕,要多吃肉~~')
elif bmi>= 18.5 and bmi<=25:
	print('您的體重正常,注意保持哈~~')
elif bmi>25 and bmi<=28:
	print('您的體重過重,要多出門呼吸新鮮空氣吶~~')
elif bmi>28 and bmi<=32:
	print('您的體重肥胖,要多運動,少吃肉~~')
elif bmi>32:
	print('您的體重嚴重肥胖,爲了您的健康,及時就醫諮詢減重吶~~')
else:
	print('請正確輸入您的身高或體重信息')

循環語句

循環是讓計算機做重複任務最有效的方法。

for循環

for循環語句如下:

for 循環內變量名 in list名:
    執行任務語句

示例如下:

若想通過代碼得到0到100相加的和,我們需要一個 list,裏面包含 0 到 100 的數字,一個個寫十分麻煩,我們可以使用Python提供的另一個函數:range()

range() 函數可以生成一個整數序列,比如,想要得到0-10的整數序列,寫法如下:

range(11)

解釋一下,上述示例是 從 0 開始 ,小於 11 的整數,得到的 就是 0到10 的整數序列。

由於 range() 生成的是整數序列,轉爲 list 型還需要用 list() 轉一下。綜上所述,通過代碼得到0到100整數相加的和的示例如下:

while循環

while循環語句如下:

while 判斷條件 :
    執行任務語句

示例如下:

只要條件滿足,它就自動循環,條件不滿足,就跳出循環。

在循環語句中,有時需要提前 退出循環 或 跳過當前循環 ,這就涉及到 breakcontinue 兩個語句。

break

break 是 退出循環,示例如下:

執行循環語句,當循環到 5 的時候,跳出循環。可見, break 的作用是 提前結束循環

continue

continue 是跳過當前循環,示例如下:

執行循環語句,當循環到 5 的時候,跳過本次循環,進入下一次循環。可見,continue 的作用是 提前結束本輪循環,進入下一輪循環

當我們寫代碼的時候,有時會碰到死循環,就是會一直循環下去的循環,示例如下:

a = 5
while a<10:
    print(a)

這是,編譯器會一直輸出 5 。這時,可以輸入 Ctrl + c 強制中斷進行的程序。

總結一下,判斷語句和循環語句是 編寫程序中經常用到的語句,要掌握好它們。

本篇結束,教材網址:https://www.liaoxuefeng.com, 繼續學習~~

 

 

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