1. 程式人生 > >python基礎之流程控制

python基礎之流程控制

分享 算數 ESS input 分享圖片 clas 跳出循環 次數 con

python流程控制

python的流程控制跟大多數的語言一樣,包括if條件語句、for循環語句、while循環語句;跳出循環continue,break等

寫在前面

python中的運算

1)算數運算

以下假設變量:a=10,b=20:

技術分享圖片

2)比較運算

技術分享圖片

3)賦值運算

技術分享圖片

4)位運算

以下假設變量:a=60,b=13,對應二進制為a=0011 1100;b=0000 1101

技術分享圖片

5)邏輯運算

Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:

技術分享圖片

6)成員運算,身份運算

除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。

技術分享圖片

身份運算符用於比較兩個對象的存儲單元

技術分享圖片

補充運算符的優先級

技術分享圖片

我們一般知道大概就行,在不確定優先級的情況下可以用()來規定優先級,括號裏的優先級大於外面的!

if條件判斷

單支
if 條件: 
  執行語句
多支
if 條件: # 條件成立 執行下方縮進裏的執行語句
  執行語句
elif 條件:  # elif非必須的,當多個條件時可以使用多個elif,執行跟if一樣
  執行語句
else# 上面條件都不成立,執行
  執行語句

示例:

基本條件判斷if:

# 如果:年齡>30歲,那麽:叫阿姨
age_of_girl = 31
if age_of_girl > 30:
    print(阿姨好
)

if……else……

# 如果:年齡>30歲,那麽:叫阿姨
# 否則:叫小姐姐
age_of_girl = 31
if age_of_girl > 30:
    print(阿姨好)
else:
    print(小姐姐)

if……elif……else

# 如果:年齡>30歲,那麽:叫阿姨
# 如果:18<年齡<=30, 叫小姐姐
# 否則:叫小屁孩
age_of_girl = 20
if age_of_girl > 30:
    print(阿姨好)
elif 18 < age_of_girl <= 30:
    print
(小姐姐) else: print(小屁孩)

條件組合

# 如果18<年齡<25並且身高>165並且體重<100並且漂亮就撩
# 否則:阿姨好
age = 22
height = 170
weight = 99
is_pretty = True
if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty:
    print(撩一下)
else:
    print(阿姨好)

if嵌套

# 在上面基礎上
# 如果撩成功了   在一起
# 否則           開個玩笑
age = 22
height = 170
weight = 99
is_pretty = True
success = True
if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty:
    if success:
        print(在一起)
    else:
        print(開玩笑的)
else:
    print(阿姨好)

簡單示例:

用戶登錄

技術分享圖片
 1 userinfo = {            # 用字典存儲用戶信息,以後會經常用到
 2     name: zhow,
 3     pwd: 123456
 4 }
 5 name = input(請輸入用戶名:).strip()  # input讓用戶輸入
 6 pwd = input(請輸入密碼:).strip()
 7 if name == userinfo[name] and pwd == userinfo[pwd]:
 8     print(登錄成功)
 9 else:
10     print(用戶名或密碼錯誤)
View Code

for循環語句

python中的for循環可循環一切可叠代的對象,包括字符串,列表,字典等,以及後面介紹叠代器和可叠代對象等。

基本格式

for i in range(10):  # range(10)生成一個列表從0開始
    print(i)

其他示例:

s = I love python
for i in s:
    print(i)

l = [1, 2, 3, 4, 5, 6, 7]
for i in l:
    print(i)

d = {name: zhow, age: 18}
for k, v in d.items():
    print(k, v)

while循環語句

基本格式

while 條件:   
    # 循環體
    # 如果條件為真,那麽循環體繼續執行,執行完畢後再次循環,重新判斷條件。。。
    # 如果條件為假,那麽循環體不執行,循環終止

基本使用

# 打印數字,奇數,偶數
# i = 0
# while i < 10:
#     print(‘loop‘,i)  
#     i += 1

# while i < 10:
#     if i % 2 == 0:  # 對2取余來判斷是否為偶數
#         print(‘loop‘, i)
#     i += 1

# while i < 10:
#     if i % 2 == 1:
#         print(‘loop‘, i)  # 對2取余來判斷是否為奇數
#     i += 1

死循環

while條件一直成立,並且循環體內沒有跳出語句。

import time
i = 0
while True:
    print(i)
    i = i + 1
    time.sleep(1)  # 讓程序睡眠一秒,就是暫停一秒

break使用

break跳出循環,結束循環

while True:
    name = input(請輸入您的名字:)
    pwd = input(請輸入您的密碼:)
    if name == user and pwd == 123:
        print(登錄成功)
        break        #  跳出循環
    else:
        print(登錄失敗)

continue使用

continue結束本次循環進入下次循環

n = 1
while n <= 5:
    if n == 4:
        n += 1
        continue
    print(n)
    n += 1

while+tag====》》》True和False

tag = True
while tag:
    print(第一層)
    while tag:
        print(第二層)
        while tag:
            cmd = input(第三層>>:)
            if cmd == q:
                tag = False
                break

練習示例

1)打印金字塔

技術分享圖片
 1 # 方法一
 2 n = int(input(您要打印的層數:).strip())  # 默認輸入是字符串需要轉換成整數
 3 n = n * 2
 4 i = 1
 5 while i <= n:
 6     print((i*x).center(n,  ))
 7     i += 2
 8 
 9 # 方法二
10 n = int(input(您要打印的層數:).strip())  # 默認輸入是字符串需要轉換成整數
11 n = n * 2
12 for i in range(n):
13     if i % 2 == 1:
14         print((i*x).center(n,  ))
View Code

2)打印乘法口訣

技術分享圖片
i = 1
while i < 10:
    j = 1
    while j <= i:
        print(str(i) + x + str(j) + = + str(i*j), end=\t)
        j += 1
    print()
    i += 1

for i in range(10):
    for j in range(1, i+1):
        print(str(i) + x + str(j) + = + str(i * j), end=\t)
    print()

# end = ‘\t‘代表打印了不換行   輸出一個tab   默認是end = ‘\n‘
View Code

乘法口訣裝13寫法

print(\n.join([ .join([%s*%s=%-2s % (j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)]))

綜合示例

猜數字

給定一個數字,你猜小了提示你小了,猜大了提示大了,剛好猜中提示中了並退出,總共可以猜3次,超出次數提示超過次數

技術分享圖片
 1 num=56
 2 for i in range(3):
 3     guess_num = int(input(輸入你猜的數字:))
 4     if guess_num == num:
 5         print(恭喜你猜對了)
 6         break
 7     elif guess_num > num:
 8         print(你猜的數字大了)
 9     else:
10         print(你猜的數字小了)
11 else:
12     print(你猜的次數過多,game over)
View Code 技術分享圖片
 1 num=56
 2 count = 3
 3 while True:
 4     if count == 0:
 5         print(你猜的次數過多,stupid)
 6         break
 7     guess_num = int(input(輸入你猜的數字:))
 8     if guess_num == num:
 9         print(恭喜你猜對了)
10         break
11     elif guess_num > num:
12         print(你猜的數字大了)
13     else:
14         print(你猜的數字小了)
15     count -= 1
View Code

python基礎之流程控制