中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python寫猜數游戲的方法

發布時間:2020-07-31 10:26:32 來源:億速云 閱讀:213 作者:清晨 欄目:編程語言

不懂python寫猜數游戲的方法?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。

游戲需求:猜數小游戲,在游戲中,程序每一輪會隨機生成一個0~1024之間的數字,用戶輸入猜測的數字,程序告訴用戶猜大了還是猜小

了。在一定次數內猜對,則本輪用戶獲勝,否則本輪用戶失敗。每一輪開始時,程序會要求用戶輸入用戶名。程序會一直運行,直到用戶

輸入“3”,停止游戲。每一輪游戲開始前,輸入“1”可以查看用戶的輸入歷史。

具體代碼實現:

import mathimport random#歷史記錄history = {}def input_guess(start,end):
    """輸入數字并判斷是否在范圍之內"""
    guess = int(input("請輸入{}~{}之間您猜測的數字:".format(start,end)))
    if guess >= start and guess <= end:
        return guess    
    else:
        print("輸入非法數字,重新輸入,請確認數字在{}~{}之間".format(start,end))
        input_guess(start,end)def begin():
    """開始游戲"""
    name = input("請輸入姓名:")
    
    #①將輸入的字符串轉換成列表
    start, end = input("請輸入猜測數字的范圍,用,分隔:").split(',')
    start,end = int(start),int(end)
    #檢查用戶名是否存在,如果不存在,創建用戶
    if name not in history.keys():
        history[name] = []
    
    #②randrange里的參數必須是數字
    answer = random.randrange(start,end+1)
    times = math.log2(start+end)
    times = math.floor(times)
    count = 0
    print("請在{}次內猜測正確數字".format(times))


    #循環times次判斷輸入數字是否猜對
    while count < times:
        guess = input_guess(start, end)
        if guess < answer:
            print("猜小了")
        elif guess == answer:
            print("猜對了")
            history[name].append("成功")
            break
        elif guess > answer:
            print("猜大了")
        count += 1
    else:
        print("猜測次數太多,游戲失敗,正確答案為{}".format(answer))
        history[name].append("失敗")
    main()def main():
    print("1.歷史記錄")
    print("2.繼續游戲")
    print("3.退出游戲")
    choice = input("輸入數字選擇:")

    if choice == "1":
        print(history)
        main()
    elif choice == "2":
        begin()
    else:
        passif __name__ == '__main__':
    main()

猜測數字

猜測數字通過二分法來確定每次游戲可猜測的次數,使用while……else和if語句來循環判讀。因為標記②,所以輸入的字符串必須轉換成

int類型,而int只能轉換字符串類型,而①是列表,所以只能在下一行寫start,end = int(start),int(end),而不能在input前直接添加int

游戲記錄

游戲記錄需要創建一個字典來記錄數據。字典的鍵名是用戶名,游戲開始時,首先驗證用戶名是否已存在在字典。如果字典里不存在,添

加到字典,值為一個空的列表。這里只記錄了游戲成功或失敗。其實還可以記錄每次游戲猜測的數字記錄,也可以嘗試用

collections.deque來記錄數據

感謝你能夠認真閱讀完這篇文章,希望小編分享python寫猜數游戲的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤山市| 醴陵市| 乐平市| 淮北市| 图们市| 新绛县| 隆尧县| 平遥县| 手游| 肥乡县| 龙泉市| 黑河市| 定南县| 乌拉特前旗| 秀山| 云龙县| 玉山县| 关岭| 黑山县| 自治县| 阳曲县| 鱼台县| 巧家县| 吉木乃县| 木兰县| 东乌珠穆沁旗| 资兴市| 枞阳县| 石台县| 南昌县| 大港区| 朝阳区| 宜章县| 肥东县| 靖边县| 同德县| 海原县| 余干县| 平乡县| 长泰县| 永登县|