python中的循環結構


跟大多數編程語言一樣,python中的循環有兩種:

while循環和for循環

首先,介紹一下while循環,結合案例做一些練習。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
while循環語法結構:
while 條件表達式:
代碼
語法特點:
1.有初始值
2.條件表達式
3.變量【循環體內計數變量】的自增自減,否則會造成死循環
使用條件:循環的次數不確定,依靠循環條件來結束
目的:為了將相似或者相同的代碼變得更加簡潔,使得代碼可以重復利用
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
案例一,輸出1~100之間的數
# while 的使用,案例一,輸出1~100之間的數
# 定義索引變量
# index = 1
# while index <= 100:
#     print (index)
#     index += 1
#     pass
# 案例二:對猜拳游戲進行改進,使得可以進行多次猜拳
# 導入隨機數random模塊
# import random
# while True:
#     print ('----------------------石頭剪刀布------------------------')
#
#     people = input ('(0代表石頭,1代表剪刀,2代表布)請輸入:')  # 用people代表人為的輸入
#     computer = random.randint (0, 2)  # 隨機生成一個0,2之間的整數
#     if people == '0' or people == '1' or people == '2':  #用於規范用戶的輸入,限制只能輸入0,1,2
#         people = int (people)  # 字符串轉為int類型
#         print ('你的輸入為:{}'.format (people))
#         print ('計算機的為:{}'.format (computer))
#         if people == computer:
#             print ('好吧,打平了~~')
#             pass
#         elif people == 0 and computer == 1:
#             print ('真棒,你贏了~')
#             pass
#         elif people == 1 and computer == 2:
#             print ('真棒,你贏了~')
#             pass
#         elif people == 2 and computer == 0:
#             print ('真棒,你贏了~')
#             pass
#         else:
#             print ('輸了哦~')
#         pass
#     else:
#         print('輸入不正確,請輸入0或1或2')
# 案例三:打印九九乘法表
# i = 1   #表示行數 1~9
# while i <= 9:   #外循環控制行
#     j = 1  #表示列數  1~9
#     while j <= 9-i+1:  #內循環控制列
#         print('{}*{}={}'.format(j,10-i,j*(10-i)),end=' ')  #想方設法把i,j的值與對應程式中的數對應起來
#         j += 1
#     print('\n')
#     i += 1

介紹一下for循環:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for循環
語法特點:遍歷操作,依次取集合容器中的每個值
循環格式:
for 臨時變量 in 字符串,列表等:
執行代碼塊
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 案例一,求1~100的累加和
# sum = 0
# for data in range(1,101):
#     sum += data
#     print(data,end=' ')
#     pass
# print('\n')
# print('sum=%d'%sum)
# 案例二,輸出20~101之間的偶數
# for data in range(20,102):
#     if data % 2 == 0:
#         print('%d是偶數'%data, end=' ')
#         pass
#     else:
#         print('%d是奇數'%data)

while循環和for循環對比:

通過對比發現:
while使用:適用於對未知的循環次數 用於判斷
for使用:適用於已知的循環次數【可迭代對象遍歷】

循環語句結合else語句的案例:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
循環和else語句的搭配使用:
for 變量 in 遍歷對象:
執行代碼塊
else:
循環體退出時執行的代碼
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'''
 案例,限定用戶登陸的次數,一旦三次沒有登錄成功就提示用戶已被鎖定
 思路:  用for循環控制嘗試登陸的次數,執行完整個for循環沒有登錄成功則鎖定賬戶
 所采用的結構:
 for 變量 in 遍歷對象:
    執行代碼塊
 else:
    循環執行結束后,要執行的內容
'''
usr = 'haha'
pwd = '123'
for i in range(3):
    username = input('請輸入用戶名:')
    password = input('請輸入密碼:')
    if usr == username and pwd == password:
        print('歡迎%s'%usr)
        break  # 用戶名和密碼都正確跳出循環,登陸成功
        pass
    pass
else:   # 如果三次沒有登錄成功,鎖定賬戶。只要循環語句中break語句沒有執行,else就會執行
 print('該賬戶已被鎖定')

循環語句和else搭配使用總結:

只要循環語句中break語句沒有執行,else就會執行
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM