用代碼幫你瞭解Python基礎(3)

1.循環

# 1.for...in循環,依次把list或tuple中的每個元素迭代出來
studentNames = ["Willard","ChenJD","ChenBao","LinWenYu"]
for studentName in studentNames:
    print(studentName)
print("------------------------------------------------")
# 計算1-10的累加和
sumOfNums = 0
for num in [1,2,3,4,5,6,7,8,9,10]:
    sumOfNums = sumOfNums + num
print("1-10的累加和是:",sumOfNums)
print("------------------------------------------------")
# 使用range()函數進行整數序列生成,range()函數為左閉右開
# 計算1-1000的累加和
sumOfNums = 0
for num in range(1001):
    sumOfNums += num
print("1-1000的累加和是:",sumOfNums)

# 結果輸出:
Willard
ChenJD
ChenBao
LinWenYu
————————————————
1-10的累加和是: 55
————————————————
1-1000的累加和是: 500500
 

# 2.while循環,隻要條件滿足,就不斷循環,條件不滿足時退出循環
# 計算100以內的奇數和
sumOfNums = 0
n = 99
while n > 0:
    sumOfNums += n
    n = n -2
print("100以內的奇數累加和為:",sumOfNums)

# 結果輸出:
100以內的奇數累加和為: 2500 

# 3.使用break語句提前退出循環
n = 1
while n < 20:
    if n > 10:
        break
    print("n的值為:",n)
    n += 1
print("The End.")

n的值為: 1
n的值為: 2
n的值為: 3
n的值為: 4
n的值為: 5
n的值為: 6
n的值為: 7
n的值為: 8
n的值為: 9
n的值為: 10
The End.
 

# 4.continue語句,跳過當前循環,直接開始下一次循環
n = 10
while n < 20:
    n += 1
    if n == 15:
        continue
    print("n的值為:",n)
print("The End.")

# 結果輸出:
n的值為: 11
n的值為: 12
n的值為: 13
n的值為: 14
n的值為: 16
n的值為: 17
n的值為: 18
n的值為: 19
n的值為: 20
The End.
 

# 5.登錄實例
totalFrequency = 3
inputFrequency = 0
userName = input("請輸入您的賬號:")
password = input("請輸入您的密碼:")
while inputFrequency < totalFrequency:
    if ((userName == "Willard") and (password == "JD584520")):
        print("賬號密碼正確,登錄成功!")
        break
    else:
        print("賬號或密碼輸入錯誤,登錄失敗!")
        if (totalFrequency - inputFrequency - 1) == 0:
            break
        print("請重新登錄!您還有%d次輸入賬號密碼的機會!"%(totalFrequency - inputFrequency - 1))
        print("----------------------------------------")
    inputFrequency += 1
    userName = input("請重新輸入您的賬號:")
    password = input("請重新輸入您的密碼:")

# 結果輸出:
# 輸出1:
請輸入您的賬號:Willard
請輸入您的密碼:JD584520
賬號密碼正確,登錄成功!
—————————

# 輸出2:
請輸入您的賬號:Willard
請輸入您的密碼:jd584520
賬號或密碼輸入錯誤,登錄失敗!
請重新登錄!您還有2次輸入賬號密碼的機會!
—————————————-
請重新輸入您的賬號:Willard
請重新輸入您的密碼:JD584520
賬號密碼正確,登錄成功!

————————–

# 輸出3:
請輸入您的賬號:willard
請輸入您的密碼:JD584520
賬號或密碼輸入錯誤,登錄失敗!
請重新登錄!您還有2次輸入賬號密碼的機會!
—————————————-
請重新輸入您的賬號:Willard
請重新輸入您的密碼:jd584520
賬號或密碼輸入錯誤,登錄失敗!
請重新登錄!您還有1次輸入賬號密碼的機會!
—————————————-
請重新輸入您的賬號:willard
請重新輸入您的密碼:jd584520
賬號或密碼輸入錯誤,登錄失敗!
 

2.字典

# dict:字典,使用鍵-值對(key-value)存儲;
# 實例:
studentScore = {"Willard":{"Math":100,"Chinese":98,"Eng":90},
               "ChenJD":{"Math":99,"Chinese":100,"Eng":98},
               "ChenBao":{"Math":100,"Chinese":99,"Eng":96}}
print("Willard的成績是:",studentScore["Willard"])
print("ChenJD的成績是:",studentScore["ChenJD"])
print("ChenBao的成績是:",studentScore["ChenBao"])
print("---------------------------------------------")
# 修改元素的值
print("Willard原來的成績是:",studentScore["Willard"])
studentScore["Willard"] = {"Math":100,"Chinese":100,"Eng":100}
print("修改後Willard的成績是:",studentScore["Willard"])
print("---------------------------------------------")
# 判斷key是否存在
# 1.通過in判斷key是否存在
print("判斷是否存在'ChenXiaoBao'這個key.\n")
if "ChenXiaoBao" in studentScore:
    print("存在'ChenXiaoBao'這個key.")
else:
    print("不存在'ChenXiaoBao'這個key.")
print("---------------------------------------------")
# 2.通過get()方法,如果key不存在,返回None,或指定的value
print(studentScore.get("Willard"))
print(studentScore.get("Willard"),-1)
print("---------------------------------------------")
# 刪除一個key,使用pop(key)
print("刪除前的字典:\n",studentScore,"\n")
studentScore.pop("ChenBao")
print("刪除後的字典:",studentScore)
# Tips:
# 字典的key必須是不可變對象,如:字符串、整數等,list是可變的;

# 結果輸出:
Willard的成績是: {'Math': 100, 'Chinese': 98, 'Eng': 90}
ChenJD的成績是: {'Math': 99, 'Chinese': 100, 'Eng': 98}
ChenBao的成績是: {'Math': 100, 'Chinese': 99, 'Eng': 96}
———————————————
Willard原來的成績是: {'Math': 100, 'Chinese': 98, 'Eng': 90}
修改後Willard的成績是: {'Math': 100, 'Chinese': 100, 'Eng': 100}
———————————————
判斷是否存在'ChenXiaoBao'這個key.

不存在'ChenXiaoBao'這個key.
———————————————
{'Math': 100, 'Chinese': 100, 'Eng': 100}
{'Math': 100, 'Chinese': 100, 'Eng': 100} -1
———————————————
刪除前的字典:
 {'Willard': {'Math': 100, 'Chinese': 100, 'Eng': 100}, 'ChenJD': {'Math': 99, 'Chinese': 100, 'Eng': 98}, 'ChenBao': {'Math': 100, 'Chinese': 99, 'Eng': 96}} 

刪除後的字典: {'Willard': {'Math': 100, 'Chinese': 100, 'Eng': 100}, 'ChenJD': {'Math': 99, 'Chinese': 100, 'Eng': 98}}
 

3.集合

# 集合:set;是一組key的集合,但不存儲value,且key不能重復,具有唯一性;
# 1.創建一個set,提供一個list作為輸入集合
setEg = set([1,2,3])
print("集合setEg的內容:",setEg)
print("------------------------------")
# 2.集合的元素唯一性
setEg2 = set([1,1,1,2,3,4,5,3,2])
print("集合setEg2的內容:",setEg2)
print("------------------------------")
# 3.添加元素
setEg = set([1,2,3])
print("添加元素前集合的內容:",setEg)
setEg.add(5)
print("添加元素後集合的內容:",setEg)
print("------------------------------")
# 4.刪除元素
setEg = set([1,2,3])
print("刪除元素前集合的內容:",setEg)
setEg.remove(1)
print("刪除元素後集合的內容:",setEg)
print("------------------------------")
# 5.交集、並集
setOne = set([1,2,3,4,5])
setTwo = set([1,2,4,6])
print("setOne集合的內容:",setOne)
print("setTwo集合的內容:",setTwo)
print("setOne和setTwo的交集:",(setOne & setTwo))
print("setOne和setTwo的並集:",(setOne | setTwo))

# 結果輸出:
集合setEg的內容: {1, 2, 3}
——————————
集合setEg2的內容: {1, 2, 3, 4, 5}
——————————
添加元素前集合的內容: {1, 2, 3}
添加元素後集合的內容: {1, 2, 3, 5}
——————————
刪除元素前集合的內容: {1, 2, 3}
刪除元素後集合的內容: {2, 3}
——————————
setOne集合的內容: {1, 2, 3, 4, 5}
setTwo集合的內容: {1, 2, 4, 6}
setOne和setTwo的交集: {1, 2, 4}
setOne和setTwo的並集: {1, 2, 3, 4, 5, 6}
 

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!    

推薦閱讀: