python中的3種控制流語句之while


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
恭喜你猜對了!
游戲結束


免責聲明!

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



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