a=6
b=10
if( a < b ):
print('a is less than b')
a=6; b=6
if( a == b):
print('a is equal to b')
a=6; b=3
if( a != b):
print('a is NOT equal to b')
'''
statement 前方有四個空格,這個動作叫縮排(indentation)。在 Python 中要去判斷「哪些程式碼屬於某層級之下」,
使用縮排判斷。只要在同一層縮排就是屬於上方「:」下的內容。
因此縮排在 Python 中是十分重要的。根據 Python的協定 PEP8 的規定,在 Python 中我們會使用「四個空格」來縮排。
'''
score = int(input("score:"))
if (score >= 60):
print("pass!")
else:
print("fail")
a=6; b=8
if( a == b):
print('a is equal to b')
else:
print('a is not equal to b')
a = input("a: ")
b = input("b: ")
if (a > b):
print("max: ", a)
else:
print("max: ", b)
SID = input('SID=')
year = int(SID[1:3])
print(SID,SID[1:3],year)
if year < 8:
print("Graduated")
elif year <= 11 and year >= 8:
if year == 11:
print("Freshman")
elif year == 10:
print("Sophomore")
elif year == 9:
print("Junior")
elif year == 8:
print("Senior")
else:
print("Not Registered Yet")
- 單層 for-loop
Python 的 for-loop 語法有三個需要注意的重點:初始值、終止值,以及每次執行迴圈後控制變數遞增或是遞減的變化。
在 Python 程式語言中,range()函式可以很有效率地協助我們創建一個整數序列,用法為 (起始值, 終止值, 遞增(減)值),例如:
range(10):產生從0到9的整數序列。
range(1, 11):產生從1到10的整數序列(未指定遞增值的情況下,其遞增值預設為1)。
range(0, 10, 2):產生從0, 2, 4, 6, 8的整數序列(遞增值為2)。
sequences = [0, 1, 2, 3, 4, 5]
for i in sequences:
print(i)
theBeatles = ['John Lennon', 'Paul McCartney', 'Ringo Starr', 'George Harrison']
for i in range(len(theBeatles)):
print(theBeatles[i])
theBeatles = ['John Lennon', 'Paul McCartney', 'Ringo Starr', 'George Harrison']
for beatle in theBeatles:
print (beatle)
0
1
2
3
4
5
John Lennon
Paul McCartney
Ringo Starr
George Harrison
John Lennon
Paul McCartney
Ringo Starr
George Harrison
- 巢狀for-loop
L=['Taipei','Taichung','Kaoshung']
for j in L:
for i in range(5):
print(j,i)
Taipei 0
Taipei 1
Taipei 2
Taipei 3
Taipei 4
Taichung 0
Taichung 1
Taichung 2
Taichung 3
Taichung 4
Kaoshung 0
Kaoshung 1
Kaoshung 2
Kaoshung 3
Kaoshung 4
- break 和 continue
迴圈的結束分為規則的結束和不規則的結束。
規則的結束方式是當迴圈的判斷條件不再符合時,迴圈自然結束;而不規則的迴圈結束則是在迴圈自然結束前,我們已經得到想要的運算結果,利用強制中斷的方式來結束迴圈。
Python 提供了兩個指令,用來強制迴圈流程中斷或跳過迴圈中的某些敘述:
break:中斷迴圈的執行並跳脫迴圈結構,繼續執行迴圈外的敘述。
continue:不會讓迴圈結束;只跳過迴圈內 continue 後面的剩餘敘述,接著繼續執行下一次的迴圈運作。
也就是說,當程式執行到迴圈結構內的 break 敘述時,break 敘述會中斷迴圈的執行,並且跳出迴圈結構,開始向下執行迴圈結構外的敘述。
因此,對於巢狀迴圈,若最內圈執行到 break 敘述時,則只會使最內圈的迴圈結束,而不是跳脫到整個巢狀迴圈結構外。
for i in "Hey Jude":
if i == "u":
break
print(i)
print('====================')
for i in "Hey Jude":
if i == "u":
continue
print(i)
H
e
y
J
====================
H
e
y
J
d
e
- while loops
原則上,透過 for-loop 敘述可以處理的問題大概都可以改用 while-loop 來處理;但即使兩者之間的特性如此類似,其適用範圍還是有一點差別的。
一般而言,for-loop 比較適用在「已知迴圈數」的問題,而 while-loop 則適用在「無法預知迴圈數」的問題上。
當程式需要不斷地重覆某些運算,一直到出現指定的特殊狀況時才停止,這種情形就比較適合用 while-loop 來實現。
while-loop 在執行其內部敘述之前,都會先檢查條件判斷式,如果其判斷值為真 (True),則執行迴圈內部的敘述;否則就結束 while-loop。
i = 1
while i <= 10:
print(i, end=" ")
i = i + 1
sum = 0
i = 1
while i <= 10:
sum = sum + i
i = i + 1
print(sum, end= " ")
- while loop - 3
score=1
while score > 0:
score = int(input("student's score:"))
if (score >= 90):
print("Your grade = A")
elif (80 <= score < 90):
print("Your grade = B")
elif (70 <= score < 80):
print("Your grade = C")
elif (60 <= score < 70):
print("Your grade = D")
else:
print("fail")
student's score:95
Your grade = A
student's score:90
Your grade = A
student's score:85
Your grade = B
student's score:80
Your grade = B
student's score:79
Your grade = C
student's score:70
Your grade = C
student's score:65
Your grade = D
student's score:60
Your grade = D
student's score:59
fail
student's score:-1
fail