Python全棧之路系列之流程控制

2022-03-22 17:18:09 字數 3611 閱讀 9761

if就是乙個條件判斷的,當滿足不同樣的條件的時候執行不同的操作,用法如下:

if 《條件一》:

《條件一**塊》

elif 《條件二》:

《條件二**塊》

else:

《上面兩個或者多個條件都不滿足則只需這裡的**塊》

來乙個小栗子:

#!/use/bin/env python

# _*_ coding:utf-8 _*_

# 只需指令碼是讓使用者輸入乙個數字,並把值賦值給變數n

n = int(input("pless numbers: "))

# 如果n大於10

if n > 10:

# 輸出n > 10

print("n > 10")

# 如果n等於10

elif n == 10:

# 輸出n == 10

print("n == 10")

# 否則

else:

# 輸出n < 10

print("n < 10")

如果條件成立,那麼就把值1賦值給var,如果條件不成立,就把值2賦值給var

var = 值1 if 條件 else 值2

例子

>>> var = "true" if 1==1 else "false"

>>> var

'true'

for語句是python中的迴圈控制語句,可用來遍歷某一物件,還具有乙個附帶的可選的else塊,主要用於處理for語句中包含的break語句。

>>> li = ['ansheng','eirc']

>>> for n in range(len(li)):

... print(li[n])

...ansheng

eirc

enumerate函式用於遍歷序列中的元素以及它們的下標

例如定義乙個列表,內容有電腦,筆記本,手機,組裝機,執行指令碼的時候讓使用者選擇商品,並且給商品加上序列:

>>> li = ["電腦","筆記本","手機","組裝機"]

>>> for key,value in enumerate(li):

... print(key,value)

...0 電腦

1 筆記本

2 手機

3 組裝機

為了給使用者良好的體驗,需要從1開始,然後使用者如果輸入相對應的序列那麼就列印出序列對應的值:

#!/usr/bin/env python

# _*_ coding:utf-8 _*_

# 定義乙個列表

li = ["電腦","筆記本","手機","組裝機"]

# enumerate預設從0開始自增,我們可以改為從1開始自增

for key,value in enumerate(li,1):

print(key,value)

# 讓使用者選擇商品的序列

li_num = input("請選擇商品:")

# print輸出的時候讓序列減1

print(li[int(li_num)-1])

執行結果如下

1 電腦

2 筆記本

3 手機

4 組裝機

請選擇商品:1

電腦

range()函式返回在特定區間的數字序列,range()函式的用法類似切片:range(start,stop,setup),start的預設值為0,即從0開始,stop的引數是必須輸入的,輸出的最後乙個數值是stop的前乙個,step的預設值是1,setup是步長

>>> for n in range(5):

... print(n)

...012

34

反向輸出

>>> for n in range(5,-1,-1):

... print(n)

...543

210

python 2.7.11

>>> range(0,100)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

range在python2.7中,會把所有的序列都輸出出來,沒乙個序列都在記憶體中占用一點空間

xrange

xrang不會一次性把序列全部都存放在記憶體中,而是用到for迴圈進行迭代的時候才會乙個乙個的存到記憶體中,相當於python3.5中的range。

>>> for i in xrange(1,10):

... print(i)

...123

4567

89

python 3.5.1

>>> range(1,100)

range(1, 100)

range在python3.5中就不會一次性的占用那麼多空間,他會我需要用到這個序列的時候然後再記憶體中開闢一塊空間給這個序列,不是一次性分完,相當於python2.7.11中的xrange.

while迴圈不同於for迴圈,while迴圈是只要條件滿足,那麼就會一直執行**塊,否則就執行else**塊,語法如下:

while 《條件》:

<**塊》

else:

《如果條件不成立執行這裡的**塊》

小栗子

#!/use/bin/env python

# _*_ coding:utf-8 _*_

flag = true

while flag:

print(flag)

flag = false

else:

print('else', flag)

Python全棧之路系列之元組資料型別

元組 tuple 和列表的唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣 建立元組的兩種方法 第一種ages 11,22,33,44,55 第二種 ages tuple 11,22,33,44,55 如果元祖內只有乙個元素,那麼需要加上乙個逗號,否則就變成字串了。in 1 t 1 in...

Python全棧之路基礎

2.x的預設編碼是assic,預設不支援中文。而3.x的預設編碼是unicode,預設支援中文 3.x不相容2.x,新特性只在3.x上有 3.x的核心語法更加簡單易學 變數的命名規則 要具有描述性 變數名只能 數字,字母組成,不可以是空格或特殊字元 不能以中文為變數名 不能以數字開頭 不能被使用保留...

Python之流程管理

條件判斷 if 條件表示式 塊else 塊if 條件表示式 塊elif 條件表示式 塊elif 條件表示式 else 塊num int input 請輸入你的分數 if num 90 print 優秀 elif 80input 函式 while迴圈 while 條件表示式 塊else 塊while ...