【python小練習】簡單的猜數字遊戲

weixin_30639719發表於2020-04-05

簡單的猜數字遊戲

前兩天在論壇回答問題時候,看到一個猜數字的遊戲,就在原來的基礎上改了一下,玩一玩。

 

此程式,數字範圍和嘗試次數是事先設定好的,當然可以通過程式碼修改。經過測試,由於難度過大,我在其中加入的作弊功能,聰明的你一定能發現啦~

程式碼思路:

隨機生成初始數 random.randint()

迴圈限制嘗試次數

將輸入的數與初始數進行比較,並輸出比較結果

經過不斷嘗試,相等後會下載一張暴漫的圖片,暴漫的圖片分兩種

imglist = re.findall('data-original-image-url="(.*?\.jpg)"',html) # 一種是單幅的圖片
picSmall = re.findall('src="(https://wanzao2.b0.upaiyun.com/web_maker/.*?-picSmall)',html) # 另一種是一系列組圖,因為一系列的這種我還沒想到怎麼區分不同的組圖,所以就使上一種了

最後用urllib下載列表中隨機一張,就以這張圖片作為答對的獎勵啦。其實還可以做翻頁的,但想到就是獎勵,沒有太大必要。

 

程式碼:

import re
import requests
import random
import urllib.request

def getHtml(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Encoding': 'gzip, deflate',
        'Upgrade-Insecure-Requests': '1',
    }
    page = requests.get(url,headers=headers)
    html = page.text
    return html

def getImg(html):
    imglist = re.findall('data-original-image-url="(.*?\.jpg)"',html) # .decode('utf-8')
    # picSmall = re.findall('src="(https://wanzao2.b0.upaiyun.com/web_maker/.*?-picSmall)',html)
    rad = random.randint(0,len(imglist))
    urllib.request.urlretrieve(imglist[rad],'開心一刻.jpg')
    print('請在目錄下檢視今日圖片...')

if __name__ == '__main__':
    
    i=1
    jihui = 8
    number=random.randint(1,1000)
    usage = '''
    ------------------------
    -    每日一笑 v 1.0    -
    -    數字範圍:1-1000  -
    -    嘗試次數:8       -
    ------------------------
    '''
    print(usage)
    temp=int(input('請猜一猜今天的數字是什麼:'))
    while i<9:
            if temp == 123456:
                    print('答案是'+ str(number) +'...')
            if temp!=number:
                    jihui -= 1
                    if jihui == 0:
                            print('機會用完了...')
                            break
                    if temp>number:
                            print('哎呀,大啦!' + '還剩餘'+ str(jihui) +'次機會..')
                    elif temp<number:
                            print('哎呀,小啦,小啦!'+'還剩餘'+ str(jihui) +'次機會..')
                    temp=int(input('請再猜一次吧:'))
            else:
                    print('對啦對啦!!!')
                    html = getHtml("http://baozoumanhua.com/all/hot?page=1")
                    getImg(html)
                    break
            i+=1
    print('遊戲結束~')

 

轉載於:https://www.cnblogs.com/zhaijiahui/p/8244669.html

相關文章