iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Software Development

0基礎也看得懂的程式設計-30天學會 Python系列 第 4

30天學會 Python: Day 3-世界線分歧

布林

布林是一種值只有 truefalse 兩種的資料類型,可以用來表示條件成立與否,或是用於進行邏輯判斷

在 Python 的程式碼中,true 和 false 的字首要大寫(True, False)

比較/關係 運算

比較兩筆數值間關係的運算,當兩者的關係成立時會得到 True ,不成立會得到 False

比較/關係 運算子

程式語言中的關係運算子有:

  • ==: 兩者是否相等
  • !=: 兩者是否不相等
  • >: 左邊是否大於右邊
  • <: 左邊是否小於右邊
  • >=: 左邊是否大於等於右邊
  • <=: 左邊是否小於等於右邊

可以用 print() 顯示運算的結果

a=100
b=10
print(a==b)
print(a!=b)
print(a>b)
print(a<b)
print(a>=b)
print(a<>=b)

if

代表 如果...就執行... 的概念,可以根據不同的條件執行不同指令,語法是:

if <條件>:
	<條件成立時執行的內容>
             ⋮
	<條件成立時執行的內容>

這裡的條件是一個布林值,所以常和前面講的比較運算一起使用,當條件成立(條件的值為 True) 時執行下方有縮排(左邊有空格)的那段程式碼,如果不成立則會跳過

縮排使用的空格符號和數量沒有硬性規定,只要同一段指令有對齊就可以了

範例中,第3行的 print() 只有在輸入的數值超過 100 才會執行,因為最後一行的 print()if 之外,所以無論如何這一行一定會被執行

x = int(input())
if x>100:
    print("超過一百分")
print("End")

if-else

如果要在條件不成立時執行另一段指令,可以用另外寫一個 if 搭配完全相反的條件

x = int(input())

if x%2==0:
    print(x, "是偶數")
if x%2==1:
    print(x, "是奇數")

也可以在 if 後面加上 else,變成:

if <條件>:
	<條件成立時執行的內容>
             ⋮
	<條件成立時執行的內容>
else:
	<條件不成立時執行的內容>
             ⋮
	<條件不成立時執行的內容>

也就是 如果...就執行...,否則執行...

所以上面的例子可以改成

x = int(input())

if x%2==0:
    print(x, "是偶數")
else:
    print(x, "是奇數")

if-elif

一組 if-else 只能產生兩種不同的情形(條件成立和條件不成立),如果要判斷更多不同的條件,可以在 ifelse 間加入 elif

if <條件1>:
	<條件成立時執行的內容>
             ⋮
	<條件成立時執行的內容>
elif  <條件2>:
	<條件成立時執行的內容>
             ⋮
	<條件成立時執行的內容>
else:
	<條件不成立時執行的內容>
             ⋮
	<條件不成立時執行的內容>

也就是 如果...,就...,否則如果...,就...,以上皆不成立則...

score = int(input())
if score>=60:
	print("PASS")
elif score >=40:
	print("RETAKE")
else:
	print("FAIL")

ifelse 間可以有多個 elif

score = int(input())
if score==100:
	print("PASS")
elif score>=80
	print("GREAT")
elif score>=60:
	print("PASS")
elif score>=40:
	print("RETAKE")
else:
	print("FAIL")

elifelse 不一定要同時使用

x = int(intput())

if x>1000:
	x=x-1000
elif x>100:
	x=x-100
print(x)

邏輯運算

參與運算的資料以及運算結果都是布林值的運算,可用來表達複雜的條件

常用的邏輯運算有:

  • not: 表示相反,會讓 True 變成 FalseFalse 變成 True
print(not True)
print(not False)

  • and: 表示而且,當 and 的左右兩邊都是 True 時為 True,其他時候都是 False
print(True and True)
print(False and True)
print(True and False)
print(False and False)

  • or: 表示而且,只要 or 的其中一邊是 True 就會得到 True,所以只有兩邊都是 False 時為 False
print(True or True)
print(False or True)
print(True or False)
print(False or False)

a b not a a and b a or b
True True False True True
False True True False True
True False False True
False False False False

結合 if

如果有多個條件,且所有條件都要符合才執行,可以用 and 連接多個條件

下面範例中,只有輸入的數大於100 x 是偶數時才會執行 print()

x = int(input())
if x>100 and x%2==0:
	print('yes')

下面範例中,只有輸入的數大於100 x 是偶數時才會執行

x = int(input())
if x>100 or x%2==0:
	print('yes')

利用 not 可以產生相反的條件

x = int(input())
if x%2==0:
    print(x, "是偶數")
if not x%2==0:
    print(x, "是奇數")

挖坑清單:

  • 空字串的用途
  • 物件

上一篇
30天學會 Python: Day 2-input啦!
下一篇
30天學會 Python: Day 4-《資料Collection》
系列文
0基礎也看得懂的程式設計-30天學會 Python30

尚未有邦友留言

立即登入留言