python控制语句中的条件语句_『Python』条件控制语句
Loading...
## 1. 條件語句
```
Python條件語句是通過一條或者多條語句的執行結果(True或False)來決定執行的代碼塊.
```
```
在Python中, 指定任何非0和非空值為True, 0或者None為False.
```
執行的流程圖如下:

### 1.1 單分支
```python
if 條件:
滿足條件后要執行的代碼
```
例如:
```python
if 2 < 3:
print(222)
```
輸出的結果為:
```python
222
```
> 每個條件后面都要使用冒號 `:`, 表示接下來是滿足條件后要執行的語句塊
> 在Python中沒有 `switch - case` 語句
### 1.2 雙分支
```python
if 條件:
滿足條件要執行的代碼
else:
不滿足條件就執行這里的代碼
```
例如:
```python
age = 18
if age >= 18:
print('恭喜你, 成年了')
else:
print('小屁孩兒')
```
#### 1.2.1 縮進
```
你會發現, 在上面的代碼中, 每個條件的下一行都縮進了4個空格. 這是python的特色. C/C++等語言利用花括號來構造代碼塊, 而python使用縮進的方式構造代碼塊.
```
Python縮進有幾個原則:
- 頂級代碼必須頂行寫. 即如果一行代碼不依賴任何條件, 則不需要進行縮進
- 同一級別的代碼, 縮進必須一致
- 官方建議縮進用4個空格.
回到 `if` 中來, 條件控制也可以有多個分支條件
### 1.3 if elif elif ...
有些時候, 我們的判斷語句可能不止兩個, 有些時候需要多個.
這個時候就需要用到if語句多個判斷條件.
```python
if 條件:
滿足條件要執行的代碼
elif 條件:
上面的條件不滿足就執行這個代碼
elif 條件:
上面的條件不滿足就執行這個代碼
...
```
例如:
```python
num = int(input('請輸入一個數字: '))
if num == 1:
print('晚上一起吃飯')
elif num == 2:
print('晚上一起溜達')
elif num == 3:
print('晚上一起玩游戲')
```
### 1.4 if elif elif ... else
```python
if 條件:
滿足條件要執行的代碼
elif 條件:
上面的條件不滿足就執行這個代碼
elif 條件:
上面的條件不滿足就執行這個代碼
else:
上面所有的條件不滿足就執行這個代碼
```
例如:
```python
num = int(input('請輸入一個數字: '))
if num == 1:
print('晚上一起吃飯')
elif num == 2:
print('晚上一起代碼')
elif num == 3:
print('晚上一起溜達')
else:
print('晚上一起玩游戲')
```
下面是 `if` 中常用的操作運算符:
| 操作符 | 描述 |
| - | - |
| < | 小于 |
| <= | 小于或等于 |
| > | 大于 |
| >= | 大于或等于 |
| == | 等于, 比較兩個值是否相等 |
| != | 不等于 |
### 1.5 嵌套if
```python
if 條件:
if 條件:
if 條件:
...
else:
...
```
例如:
```python
username = input('請輸入用戶名: ')
password = input('請輸入密碼: ')
code = 'df23'
your_code = input('請輸入驗證碼: ')
if your_code == code:
if username == 'Conan' and password == '123':
print('登錄成功')
else:
print('賬號或密碼錯誤')
else:
print('驗證碼錯誤.')
```
## 2. 練習
### 練習1 利用if語句寫出猜大小的游戲
```python
"""
設定一個理想數字比如: 66, 讓用戶輸入數字, 如果比66大, 則顯示猜的結果大了; 如果比66小, 則顯示猜的結果小了; 只有等于66, 則顯示猜的結果正確.
"""
num = int(input('請輸入一個數字: '))
if num > 66:
print('結果大了')
elif num < 66:
print('結果小了')
elif num == 66:
print('結果正確')
```
### 練習2 提示用戶輸入他的年齡, 程序進行判斷.
```python
"""
如果小于10,提示小屁孩; 如果大于10,小于20, 提示青春期叛逆的小屁孩; 如果大于20,小于30.提示開始定性,開始混社會的小屁孩; 如果大于30,小于40提示看老大不小了,趕緊結婚小屁孩; 如果大于40, 小于50.提示家里有個不聽話的小屁孩; 如果大于50.小于60.提示自己馬上變成不聽話的老屁孩; 如果大于60,小于70.提示活著還不錯的老屁孩; 如果大于70,小于90.提示人生就快結束了的一個老屁孩; 如果大于90以上提示.再現了這個世界。
"""
age = int(input('請輸入年齡: '))
if age < 10:
print('小屁孩')
elif age < 20:
print('青春期叛逆的小屁孩')
elif age < 30:
print('開始定性, 開始混社會的小屁孩')
elif age < 40:
print('老大不小了, 趕緊結婚小屁孩')
elif age< 50:
print('家里有個不聽話的小屁孩')
elif age < 60:
print('自己馬上變成不聽胡的老屁孩')
elif age < 70:
print('或者還不錯的老屁孩')
elif age < 90:
print('人生就快結束了的一個老屁孩')
elif age > 90:
print('再見了這個世界')
```
### 練習3 百分制成績轉等級制
```python
"""
用戶輸入一個分數, 根據分數來判斷用戶考試成績的檔次.
>=90 A
>=80 B
>=70 C
>=60 D
<60 不及格
"""
score = int(input('請輸入你的分數: '))
if score >= 90:
print('A')
elif score >=80:
print('B')
elif score >=70:
print('C')
elif score >=60:
print('D')
elif score < 60:
print('不及格')
```
> 這里有個問題, 就是當用戶輸入97的時候, 它打印的結果為 `A`, 但是95明明也大于80呀, 為什么不打印呢?
> 這是因為代碼是從上到下依次判斷, 只要滿足一個, 就不會繼續往下走了, 這一點要清楚.
### 練習4
```python
"""
提示用戶輸入麻花藤, 判斷用戶輸入的對不對. 如果對, 提示真聰明; 如果不對, 提示輸入有誤
"""
s = input('請輸入麻花藤: ')
if s == '麻花藤':
print('真聰明')
else:
print('輸入有誤')
```
### 練習5
```python
"""
判斷輸入的邊長能否構成三角形, 如果可以則計算出三角形的周長.
"""
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print(a + b + c)
else:
print('a, b, c不能構成三角形')
```
最后修改:2020 年 07 月 23 日 12 : 09 PM
? 允許規范轉載
贊賞
×Close
贊賞作者
掃一掃支付
支付寶支付
微信支付
總結
以上是生活随笔為你收集整理的python控制语句中的条件语句_『Python』条件控制语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向对象和面向过程的区别_面向过程和面向
- 下一篇: mysql最多多少个索引_漫画 | 一台