1. 程式人生 > >Python猜年齡

Python猜年齡

pre == () bre 超過 年齡 rip python 字符串

題目:Python實現猜年齡

步驟一:實現最簡單的猜年齡

# 事先定義
dark_knight_age = 28
user_age = input(‘Please guess my age:‘)
user_age = int(user_age)    # 將用戶輸入的內容強轉為整型
                            # 因為input接收的值都是字符串,
                            # 字符串不能與整型進行比較,所以要強轉為整型

# 判斷
if user_age == dark_knight_age: # 當用戶輸入的年齡與事先定義的年齡相等時。
    print(‘You got it!‘)
elif user_age > dark_knight_age:# 當用戶輸入的年齡比事先定義的年齡要大時。
    print(‘Try smaller‘)
else:
    print(‘Try bigger‘) # 當用戶輸入的年齡比事先定義的年齡要小時。

步驟二:實現循環猜年齡

# 事先定義
dark_knight_age = 28
while True:
    user_age = input(‘Please guess my age:‘)
    user_age = int(user_age)    # 將用戶輸入的內容強轉為整型
                                # 因為input接收的值都是字符串,
                                # 字符串不能與整型進行比較,所以要強轉為整型

    # 判斷
    if user_age == dark_knight_age: # 當用戶輸入的年齡與事先定義的年齡相等時。
        print(‘You got it!‘)
        break
    elif user_age > dark_knight_age:# 當用戶輸入的年齡比事先定義的年齡要大時。
        print(‘Try smaller‘)
    else:
        print(‘Try bigger‘) # 當用戶輸入的年齡比事先定義的年齡要小時。

步驟三:解決程序中出現的BUG

1、去除用戶輸入的字符串左右兩邊的空格

2、解決用戶輸入的值為空

3、解決用戶輸入的值為其它字符串

# 事先定義
dark_knight_age = 28
while True:
    user_age = input(‘Please guess my age:‘).strip() # 去除字符串兩邊的空格

    # 當用戶輸入的內容為數字字符串時
    if user_age.isdigit():
        user_age = int(user_age)    # 將用戶輸入的數字字符串轉換為整型後再進行以下判斷

        # 判斷
        if user_age == dark_knight_age: # 當用戶輸入的年齡與事先定義的年齡相等時,退出循環。
            print(‘You got it!‘)
            break
        elif user_age > dark_knight_age:# 當用戶輸入的年齡比事先定義的年齡要大時。
            print(‘Try smaller‘)
        else:
            print(‘Try bigger‘) # 當用戶輸入的年齡比事先定義的年齡要小時。


    # 當用戶輸入的內容為其它內容或None時,讓其重新輸入。
    else:
        print(‘Please try again!‘) 

  

步驟四:擴展猜年齡

1、當用戶猜年齡的猜錯次數超過3次時退出程序。

2、每猜錯一次便告之用戶還有幾次機會。

3、當用戶輸入為空時,不限次數讓用戶繼續輸入。

# 事先定義
count = 1
dark_knight_age = 28
while True:
    if count == 4: # 用戶在猜錯情況下的次數超過了3次退出循環。
        print(‘Too many times‘)
        break

    user_age = input(‘Please guess my age:‘).strip() # 去除字符串兩邊的空格


    # 當用戶輸入的值不為空時。
    if user_age:
        if user_age.isdigit():      # 當用戶輸入的內容為數字字符串時
            user_age = int(user_age)    # 將用戶輸入的數字字符串轉換為整型後再進行以下判斷

            # 判斷
            if user_age == dark_knight_age: # 當用戶輸入的年齡與事先定義的年齡相等時,退出循環。
                print(‘You got it!‘)
                break
            else:
                if user_age > dark_knight_age:# 當用戶輸入的年齡比事先定義的年齡要大時。
                    print(‘Try smaller‘)

                elif user_age < dark_knight_age:
                    print(‘Try bigger‘) # 當用戶輸入的年齡比事先定義的年齡要小時。

                print(‘You have %s chance‘ % (3 - count)) # 告訴還有幾次機會。

    # 當用戶輸入的內容為其它內容或None時,讓其重新輸入。
        else:
            print(‘Please try again!‘)
            print(‘You have %s chance‘ % (3 - count))  # 告訴還有幾次機會。
            
    # 當用戶輸入的值為空時
    else:
        print(‘You enter blank, please re-enter!‘)
        continue # 此時跳出本次循環,繼續執行以下循環

    count += 1 # 每次循環都次數都進行加1操作

  

  

Python猜年齡