python分支結構與迴圈結構

九幽帝君發表於2022-01-15

python分支結構

一、if 單條件形式

# 年輕人的世界都不容易    age > 18
age = int(input("請輸入您的年齡:"))   # input()函式 模擬使用者輸入
if age > 18:
    print("年輕人的世界都不容易")
    print("加油!少年!")

二、if-else 多條件形式(單個條件判斷)

# 例1:年輕人的世界都不容易
age = int(input("請輸入您的年齡:"))  # input()函式 模擬使用者輸入
if age > 18:
    print("年輕人的世界都不容易")
    print("加油!少年!")
else:
    print("您還沒有成年哦!")

# 例2:我打算存錢買車,當存到100萬就買寶馬
money = float(input("請輸入您的餘額(萬):"))
if money > 100:
    print("可以買寶馬了")
else:
    print("您尚未滿足買寶馬的條件哦!")

三、if-elif-else 多條件

# 1、小哥哥小姐姐線上打招呼系統
print("歡迎使用本公司線上打招呼系統")
sex = input("請輸入您的性別(男或女):")
if sex == "":
    print("帥哥,您好!")
elif sex == "nv":
    print("小姐姐,您好!")
else:
    print("您輸入有誤,請檢查後重新輸入!")
print("感謝您的使用謝謝!再見!")

四、巢狀

 

 

 根據使用者輸入星期幾,輸出特價菜是什麼?

day = int(input("請輸入星期幾(1~7):"))
if day >= 1 and day <= 7:
    if day == 1:
        print("星期一特價菜:水煮魚")
    elif day == 2:
        print("星期二特價菜:紅燒排骨")
    elif day == 3 or day == 4:
        print(f"周{day}特價菜:宮保雞丁")
    elif day == 5 or day == 6:
        print(f"周{day}特價菜:清蒸娃娃菜")
    else:
        print("星期日特價菜:幹鍋肥腸")
else:
    print("您輸入的星期有誤,請檢查後再次輸入,謝謝~")

mark = float(input("請輸入您的分數:"))
if 0 <= mark <= 100:
    if 90 <= mark <= 100:
        print("您的考試等級為S")
    elif 80 <= mark < 90:
        print("您的考試等級為A")
    elif 70 <= mark < 80:
        print("您的考試等級為B")
    elif 60 <= mark < 70:
        print("您的考試等級為C")
    else:
        print("您的考試等級為D")
else:
    print("您輸入的分數有誤,請重新輸入,謝謝!")

例3:現有一個銀行保險櫃,有兩個密碼。想拿到裡面的錢必須兩次輸入密碼都是正確的。如果第一道密碼不對,那直接把你攔在門外;如果第一道密碼輸入正確,才能有權進入第二道密碼。如果第二道密碼輸入錯誤,會提示。

password1 = '123456'
password2 = "987456"
pw1 = input("請輸入密碼:")
if pw1 == password1:
    pw2 = input("請輸入密碼:")
    if pw2 == password2:
        print("保險門,已開啟")
    else:
        print("您輸入有誤請重新輸入!")
else:
    print("報警器一響起,請自覺投降!")

例4:開發一個計算器,使用者輸入第一個數、輸入第二個數 、輸入第三+ - * / 冪函式 % //,輸出結果

a = float(input("請輸入第一個數字:"))
b = float(input("請輸入第二個數字:"))
c = input("請輸入計算方式(+ - * / 冪函式 % //):")
if c == "+":
    print("計算結果:", a + b)
elif c == "-":
    print("計算結果:", a - b)
elif c == "*":
    print("計算結果:", a * b)
elif c == "/":
    print("計算結果:", a / b)
elif c == "**":
    print("計算結果:", a ** b)
elif c == "%":
    print("計算結果:", a % b)
elif c == "//":
    print("計算結果:", a // b)
else:
    print("沒有這種計算方式!")

 

python迴圈結構

一、for 迴圈

# 容器遍歷
for a in [1, 2, 3, 4, 'hello']:
    print(a)
# 指定容器裡面輸出
for b in [1, 2, 3, 4, 'hello']:
    if b == 2:
        print(b)

# range(stop(不包含))
for x in range(3):
    print(f"第{x}天")
for x in range(0, 3):
    print(f"第{x}天")

# range(start,stop(不包含))
for y in range(1, 4):
    print(y)

# range(start,stop(不包含),step)
for x in range(1, 10, 2):
    print(x)    

二、while 迴圈

 

 

 

# 1-100的基數
count = 1
while count < 100:
    print(count)
    count += 2
# 1-100的偶數
count = 0
while count < 100:
    print(count)
    count += 2
# 1-100的基數總和
a = 0
sum = 0
while a < 100:
    a += 2
    sum += a
print(sum)
# 1-100的偶數總和
a = 1
sum = 0
while a < 100:
    a += 2
    sum += a
print(sum)

三、break跳出整體迴圈

a = 0
while a < 100:
    print(a)
    a += 2
    if a == 82:
        break

四、continue:跳出當前輪次迴圈

a = 0
# while迴圈
count = 0
# while迴圈條件,滿足條件執行迴圈體內程式碼
while count < 6:
    # count 變數+1,否則會進入死迴圈
    print(count)
    if count == 3:
        # 為了與3區分,如果==3的情況下count = count+1.5
        count += 1.5
        continue
    count += 1

五、練習

例1:計算1~100 求和

  • 使用分支結構實現1~100之間的偶數求和
count = 0
for i in range(1, 101):
    if i % 2 == 0:
        count += i
        print(count)
  • 不使用分支結構實現1~100之間的偶數求和

sum = 0
for a in range(0, 101, 2):
    sum += a
print(sum)

例2:猜數遊戲

計算機出一個1-100之間的隨機數由人來猜

計算機根據人猜的數字分別給出提示大一點/小一點/猜對了

computer_num = random.randint(1, 100)  # random 隨機函式
print(computer_num)
while True:
    people_num = int(input("請輸入數字:"))
    if computer_num > people_num:
        print("大一點")
    elif computer_num < people_num:
        print("小一點")
    else:
        print("猜對了")
        break

 

相關文章