Python語言簡介

if...elif...else

1. 檢查是否是閏年

在這個程序中,你將學會檢查一年是否是閏年。 我們將使用嵌套的if ... else來解決這個問題。
閏年除了世紀年(以00結尾)可以被4整除。 只有當它能被400完全整除時,這個世紀才是閏年。例如,
2017年不是一個閏年
1900年是一個不閏年
2012年是一個閏年
2000年是閏年

# Python程序來檢查輸入年份是否是閏年
#year = 2000
# To get year (integer input) from the user
while True:
    year = int(input("Enter a year:(Enter 0 to stop) "))
    if(year == 0):  break
    if (year % 4) == 0:
       if (year % 100) == 0:
           if (year % 400) == 0:
               print("{0} is a leap year".format(year))
           else:
               print("{0} is not a leap year".format(year))
       else:
           print("{0} is a leap year".format(year))
    else:
       print("{0} is not a leap year".format(year))




2. 區間內的所有質數

在這個程序中,您將學習使用for循環打印一個區間內的所有質數。
# Python program to display all the prime numbers within an interval

# change the values of lower and upper for a different result
lower = 900
upper = 1000

# uncomment the following lines to take input from the user
#lower = int(input("Enter lower range: "))
#upper = int(input("Enter upper range: "))

print("Prime numbers between",lower,"and",upper,"are:")

for num in range(lower,upper + 1):
   # prime numbers are greater than 1
   if num > 1:
       for i in range(2,num):
           if (num % i) == 0:
               break
       else:
           print(num)




3. 三個數中最大的

在下面的程序中,這三個數字分別存儲在num1,num2和num3中。 我們使用if ... elif ... else梯子來查找三個中最大的一個並顯示它。
# Python program to find the largest number among the three input numbers

# change the values of num1, num2 and num3
# for a different result
num1 = 10
num2 = 14
num3 = 12

# uncomment following lines to take three numbers from user
#num1 = float(input("Enter first number: "))
#num2 = float(input("Enter second number: "))
#num3 = float(input("Enter third number: "))

if (num1 >= num2) and (num1 >= num3):
   largest = num1
elif (num2 >= num1) and (num2 >= num3):
   largest = num2
else:
   largest = num3

print("The largest number between",num1,",",num2,"and",num3,"is",largest)



4. break, continue, pass

在Python中,break和continue語句可以改變正常循環的流程。循環遍歷一段代碼,直到測試表達式為假,但有時候我們希望終止當前的迭代,甚至整個循環,而不用考驗測試表達式。 在這些情況下使用break和continue語句。 break語句終止包含它的循環。 程序的控制流向循環體後的語句。 如果break語句在一個嵌套循環(另一個循環內的循環)內,break將終止最內層的循環。 continue語句只用於跳過當前迭代循環中的其餘代碼。 循環不終止,而是繼續下一次迭代。
for val in "string":
    if val == "i":
        break
    print(val)
print("The end")
在這個程序中,我們遍歷“string”序列。 我們檢查這封信是否是“i”,我們就中斷了。 因此,我們在輸出中看到,直到“i”被打印的所有字母。 之後,循環終止。
# Program to show the use of continue statement inside loops
for val in "string":
    if val == "i":
        continue
    print(val)
print("The end")
這個程序和上面的例子是一樣的,除了break語句被替換為continue。 我們繼續循環,如果字符串是“i”,不執行塊的其餘部分。 因此,我們看到在我們的輸出中,除“i”之外的所有字母都被打印出來。
在Python編程中,pass是一個空語句。 Python中的註釋和pass語句之間的區別在於,雖然解釋器完全忽略了註釋,但pass並不被忽略。 但是,執行傳遞時不會發生任何事情。 它導致沒有操作(NOP)。 我們通常使用它作為佔位符。 假設我們有一個循環或一個尚未實現的函數,但是我們希望在將來實現它。 他們不能有一個空的身體。 翻譯會出錯誤信息。所以,我們用pass語句來構造一個什麼也不做的主體。
# pass is just a placeholder for
# functionality to be added later.
sequence = {'p', 'a', 's', 's'}
for val in sequence:
    pass


5. for-loop

Python中的for循環用於迭代序列(列表,元組,字符串)或其他可迭代對象。 遍歷序列稱為遍歷。循環繼續,直到到達序列中的最後一項。 for循環的主體使用indentation與代碼的其餘部分分開。for循環也可以有一個可選的else塊。 如果for循環中使用的序列中的項目耗盡,則執行else部分。 break語句可以用來停止for循環。 在這種情況下,else部分被忽略。 因此,如果沒有發生中斷,for循環的其他部分將運行。

for loop with else


digits = [0, 1, 5]
for i in digits:
    print(i)
else:
    print("No items left.")


range

我們可以使用range()函數生成一個數字序列。 範圍(10)將生成0到9的數字(10個數字)。 我們還可以將開始,停止和步長定義為範圍(開始,停止,步長)。 如果未提供,步長缺省為1。 這個函數不會把所有的值存儲在內存中,效率會很低。 所以它會記住開始,停止,步長,並在旅途中生成下一個號碼。 要強制這個函數輸出所有的項目,我們可以使用函數list()。
# Output: range(0, 10)
print(range(10))
# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(10)))
# Output: [2, 3, 4, 5, 6, 7]
print(list(range(2, 8)))
# Output: [2, 5, 8, 11, 14, 17]
print(list(range(2, 20, 3)))	

while loop

只要測試表達式(條件)為true,Python中的while循環用於迭代代碼塊。while循環,首先檢查測試表達式。 僅當test_expression的計算結果為True時才會輸入循環體。 一次迭代之後,再次檢查測試表達式。 這個過程一直持續到test_expression的計算結果為False。 在Python中,while循環的主體是通過縮進確定的。 正文從縮進開始,第一個不縮進的行標記結束。 Python將任何非零值解釋為True。 None和0被解釋為False。和for循環一樣,我們可以有一個可選的else語句和while循環。 如果while循環中的條件評估為False,則執行else部分。 while循環可以用break語句結束。 在這種情況下,else部分被忽略。 因此,如果沒有發生中斷並且條件為假,則while循環的其他部分將運行。
# Program to add natural
# numbers upto 
# sum = 1+2+3+...+n
# To take input from the user,
# n = int(input("Enter n: "))
n = 10
# initialize sum and counter
sum = 0
i = 1
while i <= n:
    sum = sum + i
    i = i+1    # update counter
# print the sum
print("The sum is", sum)

while with else


# Example to illustrate
# the use of else statement
# with the while loop
counter = 0
while counter < 3:
    print("Inside loop")
    counter = counter + 1
else:
    print("Inside else")