简单的猜数字游戏
前两天在论坛回答问题时候,看到一个猜数字的游戏,就在原来的基础上改了一下,玩一玩。
此程序,数字范围和尝试次数是事先设定好的,当然可以通过代码修改。经过测试,由于难度过大,我在其中加入的作弊功能,聪明的你一定能发现啦~
代码思路:
随机生成初始数 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(‘游戏结束~‘)