while語句格式:
while 條件表達式(邏輯,成員,比較,空數據,布爾值):空數據==False,非空數據==True 代碼塊/循環體(條件為True執行操作)
總結:
# 先判斷while后面的條件表達式是否成立
# 如果成立,執行代碼塊,否則不進入代碼塊
# 執行完畢后,繼續判斷
# 直到不進入代碼塊為止
# 防止代碼進入死循環:加一個變量來控制循環次數
a = 1 while a<=10: print('這是第{0}次執行循環,a={1}'.format(a,a)) a = a + 1
work1: 利用while循環,實現1-100的整數相加
i =1 sum = 0 while i<=100: sum += i i += 1 print("1+2+3+...+100=",sum)
work2:找出10-12歲的小女孩的總人數,詢問10次
i = 10 count = 0 while i>0: sex = input('請問你的性別是:') if sex == '女': age = int(input('請問你多大:')) if 10<=age<=12: print('恭喜你,你符合條件') count+=1 else: print('很遺憾,不符合條件') else: print('很遺憾,不符合條件') i-=1 print("10-12歲小女孩的總人數為:", count)
work3: 例如:password = {'admin':'123321','user1':'123456'}
# 1.設計一個登錄程序,不同的用戶名和對應密碼存在一個字典里面,輸入正確的用戶和密碼去登錄
# 2.首先輸入用戶名,如果用戶名不存在或為空,則一直提示輸入正確的用戶名
# 3.當用戶名正確時,提示去輸入密碼,如果密碼跟用戶名不對應,提示密碼錯誤請重新輸入
# 4.如果密碼輸入錯誤超過3次,中斷程序運行
# 5.當輸入密碼錯誤時,提示還有幾次機會
# 6.用戶名和密碼都輸入成功的時候,提示登錄成功
loginMessage = { 'username1': '1234', 'username2': '1234', 'username3': '1234', 'username4': '1234', 'username5': '1234' } count = 0 # 密碼輸入次數 while True: username = input('請輸入用戶名:') if username in loginMessage.keys(): while count <= 3: pwd = input('請輸入密碼:') if pwd == loginMessage[username]: print("登錄成功!") break else: count+=1 print("密碼錯誤,請重新輸入") print("還有{0}次機會修改密碼".format(3 - count)) break elif username not in loginMessage.keys() or username =='': print("用戶名錯誤,請重新輸入")
work4:猜數游戲
number = 23 running = True while running: guess = int(input("請輸入一個整數:")) if guess == number: print("恭喜你猜對了!") running = False # 猜對了,游戲結束 elif guess < number: print("NO,NO,小了小了") else: print("NO,大了大了") else: print("游戲結束")
輸出結果為:
>>> 請輸入一個整數:5 NO,NO,小了小了 請輸入一個整數:30 NO,大了大了 請輸入一個整數:23 恭喜你猜對了! 游戲結束