分支和循環(huán)

一、分支

1. if 語句

  • a.語法:
    if 條件語句:
    代碼段
  • b.說明:
    if - 關鍵字
    條件語句 - 任何有結果的表達式(不管是什么類型)
    代碼段和if保持一個縮進的一條或者多條語句
  • c.執(zhí)行過程:
    先判斷條件語句的結果是否是True,如果是則執(zhí)行,反之則不執(zhí)行
    注意:如果條件語句的結果不是布爾,會將結果轉化為布爾再判斷
    賦值語句不能寫在if的后面
# 練習:隨機產(chǎn)生一個年齡值,如果大于18就打印 成年
import random  # 導入生成隨機數(shù)的模塊
age = random.randint(0, 100)   # 隨機生成0~100中的一個數(shù)(不包括100)
if age >= 18:
    print("成年")
print("你的年齡是%d" % age)

2. if- else 語句

  • a.語法:
    if 條件語句:
    代碼段1
    else:
    代碼段2

  • b.執(zhí)行過程:
    先判斷條件語句是否為True,為True就執(zhí)行代碼段1:否則執(zhí)行代碼段2

# num = input("請輸入")
num = 12
# try,except,finally為異常捕獲
try:    # 嘗試執(zhí)行的代碼
    if num & 1 == 0:
        print("我是偶數(shù)%d" % num)

    elif num & 1 == 1:
        print("你是奇數(shù)%d" % num)
except:    # 發(fā)生異常執(zhí)行的代碼 
    print("非奇非偶吧你{0}".format(num))
finally:     # 無論發(fā)不發(fā)生異常都會執(zhí)行的代碼
    print("Hello python")

3. if - elif - else 語句

  • 語法:
    if 條件語句1:
    代碼段1
    elif 條件語句2:
    代碼段2
    elif 條件語句3:
    代碼段3
    ...
    else:
    代碼段n

  • 執(zhí)行過程:
    先判斷條件語句1是否為True,為True就執(zhí)行代碼段1;
    否則,就判斷條件語句2是否為True,為True就執(zhí)行代碼段2
    否則,就判斷條件語句3是否為True,為True就執(zhí)行代碼段3
    ...
    如果全部條件語句都不執(zhí)行就執(zhí)行 else
    注意:1.后面的條件判斷前提是前面的條件不成立
    2.elif根據(jù)條件可以有多個,else也可以省略

import random
score = random.randint(40, 100)
print("你的考試成績:%d" % score)
print("你的綜合測評:", end="")
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("留級")

4. if 的嵌套

  • 可以在if ,else后面的代碼段中,都可以再寫其他的if語句
number = random.randint(0, 100)
if number & 1 == 0:
    print("偶數(shù):%d" % number)
    if number % 4 == 0:
        print("4的倍數(shù):%d" % number)
else:
    print("你是奇數(shù):%d" % number)


# 練習:輸入一個字符串,判斷是否第一個字符是字母,如果是 打印“一字母開頭”
#       如果這個字母是大寫的,再打印“大寫字母”

str1 = input("請輸入")
if str1[0].isalpha():
    print("字母開頭")
    if str1[0].isupper():
        print("大寫字母")
else:
    print(str1)

# 方法2
if "a" <= str1[0] <= "z" or "A" <= str1[0] <= "Z":
    print("以字母開")
    if "A" <= str1[0] <= "Z":
        print("大寫字母")
else:
    print(str1

二、for 循環(huán)

  • a.語法:
    for 變量 in 序列:
    循環(huán)體

  • b.for - 關鍵字
    變量 - 變量名,(滿足變量命名規(guī)范)
    in - 關鍵字
    序列 - 可以是字符串、列表、元組、字典、集合、迭代器、range
    循環(huán)體 - 和for保持一個縮進的一條或者多條語句(需要重復執(zhí)行的代碼)

  • c.執(zhí)行過程:
    讓變量取序列中取值,一個一個的取,取完為止;每取一個值,依次執(zhí)行循環(huán)體
    for循環(huán)中,序列中值的個數(shù),確定了循環(huán)的次數(shù)

  • d.如果for后面取到的值,在循環(huán)體里面不使用,那么這個變量命令的時候,用一個_來命名

for i in "abc":
    print(i)

range說明

  • range(n) - 產(chǎn)生數(shù)字序列,序列中的內容是0~ n-1(結果是序列)
    range(m,n) - 產(chǎn)生數(shù)字序列,序列中的內容是m~ n-1
    range(m,n,step) - 產(chǎn)生數(shù)字序列,從m開始,每次增加step,直到n-1為止
    range一般用在:
    a.需要產(chǎn)生指定范圍的數(shù)字序列
    b.單純的控制for循環(huán)的次數(shù)
for i in range(5):
    print(i)
print("~"*20)
for i in range(10, 15):
    print(i)

for i in range(20, 30, 2):
    print(i)

練習:獲取一個字符串中數(shù)字的個數(shù),并在控制臺輸出

str1 = "sd454df5sd5f45dfd4f5dfdg"

count = 0
for char in str1:
    # print(i)
    if "0" <= char <= "9":
        count += 1
print("數(shù)字個數(shù):%d" % count)

三、while 循環(huán)

  • a.語法:
    while 條件語句:
    循環(huán)體

  • b. 說明:
    while - 關鍵字
    條件語句 - 有結果的表達式(除了賦值語句,一般的表達式都行)

  • c.執(zhí)行過程:
    先判斷條件語句是否為True,為True就執(zhí)行循環(huán)體;
    執(zhí)行完循環(huán)體再判斷條件語句是否為True,為True就執(zhí)行循環(huán)體;
    執(zhí)行完循環(huán)體再判斷條件語句是否為True,為True就執(zhí)行循環(huán)體;
    ...
    直到判斷條件結果為False,整個循環(huán)結束

num = 1
result = 1
while num <= 10:
     result *= num
     num += 1
print(result)

str1 = "abc123"
num = 0
while num < len(str1):
    print(str1[num])
    num += 1

for循環(huán)和while循環(huán)的選擇

  • 使用for循環(huán):
    a. 獲取序列中的元素(值)
    b. 循環(huán)次數(shù)確定

  • while循環(huán):
    a. 死循環(huán)
    b. 循環(huán)次數(shù)不確定

# 不確定循環(huán)的次數(shù)
# 方法一
value = input('請輸入:')
while value != '0':
    value = input('請輸入:')
print('結束!')
# 方法二
while True:
    index = input("請輸入:")
    if index == "0":
        print("~~~~~~~~~")
        break

四、continue、break和else

  • continue 是一個關鍵字,只能寫在循環(huán)中
    功能:當循環(huán)執(zhí)行過程中遇到continue,會結束當次循環(huán),直接今日下次循環(huán)的判斷
    (直接進入下次循環(huán)的判斷:for循環(huán)就是用比那輛取下一個值
    while就是直接判斷條件語句是否為True
for i in range(0, 10):
    if i & 1 == 0:
        continue
    print("我是奇數(shù):%d" % i)
  • break是一個關鍵字,只能寫在循環(huán)體中
    功能:當循環(huán)過程中遇到可break,整個循環(huán)直接結束
for x in range(10):
    print(x)
    break

else

  • a.語法:
    while 條件語句:
    循環(huán)
    else:
    代碼段

for 變量 in 序列:
循環(huán)體
else:
代碼段

  • b.執(zhí)行過程:
    else結構不會影響原循環(huán)的執(zhí)行過程。當循環(huán)自然死亡的時候,就會執(zhí)行else后邊的代碼段。
    循環(huán)因為遇到break而結束的時候不會執(zhí)行else后邊的代碼段
for x in range(10):
    print(x)
    if x == 3:
        break
else:
    print('for循環(huán)結束了')
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 5.1 分支結構 python中分支結構只有if語句,沒有switch語句 5.1.1 if語句 a.語法:if ...
    2333_11f6閱讀 240評論 0 0
  • 一、分支結構 python中的分支結構只有if結構,沒有switch if就是在程序用來做判斷的(需要在滿足某個條...
    留級是不可能留級的閱讀 167評論 0 0
  • 1.if語句 1.1 import random import 是導入一個模塊/包的關鍵字random模塊中提供許...
    逆流而上_2eb6閱讀 163評論 0 0
  • 生活就像是一面鏡子, 你對它笑,它也會對你笑, 照射著人生百態(tài)。 生活就像一面墻, 墻里面的人在羨慕墻外面的人擁有...
    淺夏若花閱讀 266評論 0 0
  • 頭七,一種喪殯習俗。習慣上認為“頭七”指的是人去世后的第七日。一般都認為,死者魂魄會于“頭七”返家。 雷杰因為...
    GARBIE閱讀 530評論 5 2

友情鏈接更多精彩內容