1. 程式人生 > >python3筆記(四)while迴圈、for迴圈

python3筆記(四)while迴圈、for迴圈

Python中有兩種迴圈,分別為:for迴圈和while迴圈。

while迴圈

while 語句的基本用法如下:

 while 條件表示式: 
     迴圈體 

while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

在迴圈內部變數n不斷自減,直到變為-1時,不再滿足while條件,迴圈退出。

例項程式碼:

'''
作者:Wei
日期:2018/9/15 17:20
Python版本:3.7
'''
import random times = 3 secret = random.randint(1,10) print('------------------遊戲開始------------------') # 這裡先給guess賦值(賦一個絕對不等於secret的值) guess = 0 # print()預設是列印完字串會自動新增一個換行符,end=" "引數告訴print()用空格代替換行 print("請猜一個數字:", end=" ") while (guess != secret) and (times > 0): temp = input() guess = int(temp) times = times - 1
# 使用者每輸入一次,可用機會就-1 if guess == secret: print("猜中了!!!") print("哼,猜中了也沒有獎勵!") else: if guess > secret: print("哥,大了大了~~~") else: print("嘿,小了,小了~~~") if times > 0: print("再試一次吧:", end=" ") else: print("機會用光咯T_T"
) print("遊戲結束,不玩啦^_^")

for迴圈

for 語句的基本用法如下:

for 迭代變數 in 物件: 
    迴圈體 

其中,迭代變數用於儲存讀取出的值;物件為要遍歷或迭代的物件,該物件可以是任何 有序的序列物件,如字串、列表和元組等;迴圈體為一組被重複執行的語句。

如果我們想要某件事情重複執行具體次數的時候可以使用for迴圈。 
for迴圈主要用來遍歷、迴圈、序列、集合、字典,檔案、甚至是自定義類或函式。

for迴圈用來遍歷列表

lists=['one','two','three','four ']
for i in lists:
    print(i)
print("結束遍歷")

執行結果:
    one
    two
    three
    four 
    結束遍歷

for迴圈修改列表中的元素

#把 two 改為 新值
lists=['one','two','three','four ']
for i in range(len(lists)):
    if lists[i] == 'two':
        lists[i] = '新值'
print(lists)

執行結果:
    ['one', '新值', 'three', 'four '] #這只是因為執行了上面程式碼的臨時結果,並不是把記憶體地址的值真正給更新了,可以再執行一次你會發現結果一樣,如如真的給替換第二次執行two不是不存在了嗎

for迴圈刪除列表中的元素

lists=['one','two','three','four ']
for i in lists:
    if i == 'two':
        lists.remove(i)
print(lists)

執行結果:
    ['one', 'three', 'four ']

for迴圈統計列表中某一元素的個數

count = 0
lists=['one','two','three','four ','two']
for i in lists:
    if i == 'two': #判斷two的個數
        count += 1
print(count)

執行結果:
    2

for迴圈的常用搭檔range()

range(開始數,結束數,步長)

1到10之間的奇數

'''
作者:Wei
日期:2018/9/15 17:20
Python版本:3.7
'''
#列印1到10之間的奇數
for i in range(1,10,2):
    print(i)

執行結果:
    1
    3
    5
    7
    9

也可以不寫開始數(預設為0開始)

#列印1到10之間的數
for i in range(10):
    print(i)

執行結果:
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9

注意:如果你這樣寫range(10,2)你不寫開始數,他不會認為你寫的是0到10步長為2

for迴圈變數字串

#遍歷字串
strs = "abcd"
for i in strs:
    print(i)

執行結果:
    a
    b
    c
    d

遍歷檔案

for Verse in open("D:\\demo.txt"):
    print(Verse)

結果演示:
床前明月光,疑是地上霜。
舉頭望明月,低頭思故鄉。

遍歷字典

#遍歷字典
count = 0
for key,value in {"name":'zhang',"sex":'男',"age":18}.items():
    count += 1
    print(f"鍵{count}:"+key)
    print(f"值{count}:"+str(value))

執行結果:
    鍵1:name1:zhang2:sex2:男
    鍵3:age3:18