简单的猜数字游戏

前两天在论坛回答问题时候,看到一个猜数字的游戏,就在原来的基础上改了一下,玩一玩。

此程序,数字范围和尝试次数是事先设定好的,当然可以通过代码修改。经过测试,由于难度过大,我在其中加入的作弊功能,聪明的你一定能发现啦~

代码思路:

随机生成初始数 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': '',
}
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('游戏结束~')

【python小练习】简单的猜数字游戏的更多相关文章

  1. 用Python实现一个简单的猜数字游戏

    import random number = int(random.uniform(1,10)) attempt = 0 while (attempt < 3): m = int(input(' ...

  2. Java用户输入数值,做简单的猜数字游戏,导入基础的工具包util

    Java用户输入数值,做简单的猜数字游戏,导入基础的工具包util,导入包的方法为,import java.util.*: 完整的实例代码: /* 导入基础工具包 */ import java.uti ...

  3. 用MFC完成一个简单的猜数字游戏: 输入的四位数中,位置和数字都正确为A,数字相同而位置不同的为B。

    最近学习了MFC一些比较基础的知识,所以打算通过做一个简单的数字游戏来理解MFC的流程并进一步熟悉其操作. 在这里,我做了一个猜数字的小游戏.第一步当然是设计主界面,先给大家展示一下游戏界面: 主界面 ...

  4. 用while循环写一个简单的猜数字游戏

    import random #练习:模拟猜数字的游戏 """ 计算机出一个1~100之间的随机数由人来猜 计算机根据人猜的数字分别给出 大一点/小一点/猜中了 的提示 & ...

  5. python 简单的猜数字游戏

    !/usr/bin/env python --encoding:utf-8-- import random think=random.randint(1,10) print ("...... ...

  6. python实践项目四:猜数字游戏

    题目要求:在1-20中随机生成一个数字,你来猜,只有6次机会. 举例一: #!/usr/bin/python # -*- coding: UTF-8 -*- import random secretN ...

  7. python 9*9乘法口诀 猜数字游戏

  8. Poj 2328 Guessing Game(猜数字游戏)

    一.题目大意 两个小盆友玩猜数字游戏,一个小盆友心里想着1~10中的一个数字,另一个小盆友猜.如果猜的数字比实际的大,则告诉他"too high",小则"too low& ...

  9. 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile

      通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁 ...

随机推荐

  1. Good Bye 2018

    Good Bye 2018 2018年最后一场CF,OVER! 弱弱的我只能做出3道A,B,D~~~~ 最后几分钟,感觉找到了C题的规律,结束的那一刻,提交了一发 "Wrong answer ...

  2. java List集合

    List集合包括四种类,分别是ArrayList.LinkedList.Vector.Stack. ArrayList:元素的存储是顺序存储,可以根据数组的下标查询,查询速度快,但是在删除和插入元素时 ...

  3. 通过$.ajax设置预加载动画加强用户体验

    以前在jquery请求数据时,总喜欢用简洁的$.get与$.post提交数据,但有时发现由于网速的问题,有些时候网站加载js获得的数据会非常慢,于是就想能不能请求数据中间,给加载数据一个提示,增加用户 ...

  4. Pyhton对象解释

    python的docstring提供了对每一个类.函数.方法的解释,在他们的定义下面可以有一行Python的标准字符串,该行字符串需要和下面的代码一样的缩进. docstring可以用单引号(')或者 ...

  5. data_type

    import logging logger = logging.getLogger("simple_example") logger.setLevel(logging.DEBUG) ...

  6. jmeter源码导入eclipse步骤

    1.新建标准java项目2.右击项目选import filesystem 将apache-jmeter-4.0整个目录勾选allow output folders for source folders ...

  7. Yearning 介绍(SQL审核平台)

    介绍 Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQL检测及执行. GitHub:https://gith ...

  8. 理解I/O:随机和顺序

    转自:https://blog.csdn.net/BaiWfg2/article/details/52885287 原文:http://www.violin-memory.com/blog/under ...

  9. 【.NET】using 语句中使用的类型必须可隐式转换为"System.IDisposable"

    #问题: 在使用EF开发中,出现如下错误:“using 语句中使用的类型必须可隐式转换为“System.IDisposable” #原因: 项目中没有引用 EntityFramework 这个程序集: ...

  10. synchronized 和lock的区别

    synchronized 是什么时候释放? 1.获取锁的线程执行完代码2.线程执行出现异常 synchronized 的缺陷? 1.Lock类可以主动释放锁.2.synchronized 是被动. R ...