python3編程(一)

#!/usr/bin/python3
 
# Fibonacci series: 斐波納契數列
# 兩個元素的總和確定了下一個數
a, b = 0, 1
while b < 10:
    print(b)
    a, b = b, a+b

計算步驟如下:
其中代碼 a, b = b, a+b 的計算方式爲先計算右邊表達式,然後同時賦值給左邊。

關鍵字end可以用於將結果輸出到同一行,或者在輸出的末尾添加不同的字符,實例如下:

#!/usr/bin/python3
 
# Fibonacci series: 斐波納契數列
# 兩個元素的總和確定了下一個數
a, b = 0, 1
while b < 1000:
    print(b, end=',')
    a, b = b, a+b

執行以上程序,輸出結果爲:

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

if 語句

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
  • 每個條件後面要使用冒號 :,表示接下來是滿足條件後要執行的語句塊。
  • 使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。
  • 在Python中沒有switch – case語句。
#!/usr/bin/python3
 
age = int(input("請輸入你家狗狗的年齡: "))//input爲字符型轉換爲int
print("")
if age <= 0://在python中if語句不需要加小括號
    print("你是在逗我吧!")
elif age == 1:
    print("相當於 14 歲的人。")
elif age == 2:
    print("相當於 22 歲的人。")
elif age > 2:
    human = 22 + (age -2)*5
    print("對應人類年齡: ", human)
 
### 退出提示
input("點擊 enter 鍵退出")

將以上腳本保存在dog.py文件中,並執行該腳本:

$ python3 dog.py 
請輸入你家狗狗的年齡: 1

相當於 14 歲的人。
點擊 enter 鍵退出

if 嵌套
在嵌套 if 語句中,可以把 if…elif…else 結構放在另外一個 if…elif…else 結構中。

if 表達式1:
    語句
    if 表達式2:
        語句
    elif 表達式3:
        語句
    else:
        語句
elif 表達式4:
    語句
else:
    語句

實例:

# !/usr/bin/python3
 
num=int(input("輸入一個數字:"))
if num%2==0:
    if num%3==0:
        print ("你輸入的數字可以整除 2 和 3")
    else:
        print ("你輸入的數字可以整除 2,但不能整除 3")
else:
    if num%3==0:
        print ("你輸入的數字可以整除 3,但不能整除 2")
    else:
        print  ("你輸入的數字不能整除 2 和 3")

將以上程序保存到 test_if.py 文件中,執行後輸出結果爲:

$ python3 test.py 
輸入一個數字:6
你輸入的數字可以整除 2 和 3

while 循環

while 判斷條件(condition):
    執行語句(statements)……

在這裏插入圖片描述
同樣需要注意冒號和縮進。另外,在 Python 中沒有 do…while 循環。
在這裏插入圖片描述
在這裏插入圖片描述
無限循環:我們可以通過設置條件表達式永遠不爲 false 來實現無限循環

while 循環使用 else 語句
在 while … else 在條件語句爲 false 時執行 else 的語句塊。

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>

實例爲:

#!/usr/bin/python3
 
count = 0
while count < 5:
   print (count, " 小於 5")
   count = count + 1
else:
   print (count, " 大於或等於 5")

for 語句
for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。

for <variable> in <sequence>:
    <statements>
else:
    <statements>

在這裏插入圖片描述

>>>languages = ["C", "C++", "Perl", "Python"] 
>>> for x in languages:
...     print (x)
... 
C
C++
Perl
Python

以下 for 實例中使用了 break 語句,break 語句用於跳出當前循環體:

#!/usr/bin/python3
 
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("菜鳥教程!")
        break
    print("循環數據 " + site)
else:
    print("沒有循環數據!")
print("完成循環!")

執行腳本後,在循環到 "Runoob"時會跳出循環體:

循環數據 Baidu
循環數據 Google
菜鳥教程!
完成循環!

range()函數
使range以指定數字開始並指定不同的增量(甚至可以是負數,有時這也叫做’步長’):

>>>for i in range(0, 10, 3) :
    print(i)
 
    
0
3
6
9
>>>

可以結合range()和len()函數以遍歷一個序列的索引,如下所示:

>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...     print(i, a[i])
... 
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ

break 和 continue 語句及循環中的 else 子句
在這裏插入圖片描述
在這裏插入圖片描述
break 語句可以跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行
continue 語句被用來告訴 Python 跳過當前循環塊中的剩餘語句,然後繼續進行下一輪循環
while 中使用 break:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循環結束。')

輸出結果爲:

4
3
循環結束。

while 中使用 continue:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循環結束。')

輸出結果爲:

4
3
1
0
循環結束。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章