python实战之90行代码写个猜数字游戏


Posted in Python onApril 22, 2021

一、导入库

import random
import time

二、注册用户

我们用变量与input实现

name = str(input('请输入用户名:'))
print('欢迎您,'+name)

三、注册年龄

这里我们得用except制作乱输文本就游戏结束的程序

乱输文本就结束

try:
    age = int(input('请输入年龄:'))
except ValueError:
    print('非法输入')
    age = 30000

顺便把年龄设为30000[滑稽]

再根据年龄大小分配金币

四、分配金币

if age <10:
    gold = 500
    print('您的初始金币为500')
if age <20 and age >10:
    gold = 1000
    print('您的初始金币为1000')
if age >20 and age <30:
    gold = 1500
    print('您的初始金币为1500')
if age >30 and age <1000:
    gold = 200
    print('年龄过大,您的初始金币为200')

用if语句保证金币小于10000,如果等于10000,游戏结束

五、if判断 1

if gold !=10000:
    Game_start = str(input('是否开始游戏?(True或False)'))
    while gold !=10000:

接下来就是最重要的游戏部分了,认真!

我们还得用if语句判断Game_start变量为True,并创建一个随机数列表

六、if与随机数

if Game_start =='True':
	list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
	while list_123 ==10:
		list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]

然后设定回答变量和正确答案与错误答案

七、回答、正确与错误

answer = str(input('请猜数(big或small):'))
if list_123[0] + list_123[1] + list_123[2] >10:
	result = 'big'
	error_result = 'small'
if list_123[0] + list_123[1] + list_123[2] <10:
	result = 'small'
	error_result = 'big'

还得用if语句判断正确、错误与非法输入的答案

八、if判断 2

if answer ==result:
	print('您赢了!')
	gold = gold + 100
	print('随机数为'+str(list_123))
	print('您现在有'+str(gold)+'金币')
elif answer ==error_result:
	print('您输了...')
	print('随机数为'+str(list_123))
	gold = gold - 100
	print('您现在有'+str(gold)+'金币')
else:
	print('非法输入')
	gold = 10000

再制作购买道具的模块

太长了我懒得写一句一句解析

九、购买道具

if gold ==2000 or gold ==3000 or gold ==4000 or gold ==5000 or gold ==6000 or gold ==7000 or gold ==8000 or gold ==9000:
    answer = str(input('您现在可以购买道具,是否购买?(True或False):'))
    if answer =='True':
        print('请说出要购买der道具')
        print('*'*41)
        print('*金币翻倍器[现有的]   金币翻倍器[得到的]*')
        print('*     2000G                  1500G      *')
        print('*'*41)
        answer = str(input('请说出要购买der道具(金币翻倍器[现有的]说1,金币翻倍器[得到的]说2):'))
        if gold >2000 and answer =='1':
            gold = gold - 2000
            answer = int(input('请说出要翻der倍数:'))
            gold = str(gold * answer)
            print('您现在有'+gold+'金币')
            gold = int(gold)
        elif gold >1500 and answer =='2':
            gold = gold - 1500
            answer = int(input('请说出要翻der倍数:'))
            gold_mang = 100 * answer
            gold = gold + gold_mang
            print('您现在有'+str(gold)+'金币')
            gold = int(gold)
            else:
                print('没有这个道具,游戏结束')
                gold = 10000
            elif answer =='False':
                print('继续游戏')
            else:
                print('非法输入')
                gold = 10000

我写到一半发现没有把上面的桥接上,所以现在来桥接

十、桥接

import random
import time
name = str(input('请输入用户名:'))
print('欢迎您,'+name)
try:
    age = int(input('请输入年龄:'))
except ValueError:
    print('非法输入')
    age = 30000
    gold = 10000
if age <10:
    gold = 500
    print('您的初始金币为500')
if age <20 and age >10:
    gold = 1000
    print('您的初始金币为1000')
if age >20 and age <30:
    gold = 1500
    print('您的初始金币为1500')
if age >30 and age <1000:
    gold = 200
    print('年龄过大,您的初始金币为200')
if gold !=10000:
    Game_start = str(input('是否开始游戏?(True或False)'))
    while gold !=10000:
        if Game_start =='True':
            list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
            while list_123 ==10:
                list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
            answer = str(input('请猜数(big或small):'))
            if list_123[0] + list_123[1] + list_123[2] >10:
                result = 'big'
                error_result = 'small'
            if list_123[0] + list_123[1] + list_123[2] <10:
                result = 'small'
                error_result = 'big'
            if answer ==result:
                print('您赢了!')
                gold = gold + 100
                print('随机数为'+str(list_123))
                print('您现在有'+str(gold)+'金币')
            elif answer ==error_result:
                print('您输了...')
                print('随机数为'+str(list_123))
                gold = gold - 100
                print('您现在有'+str(gold)+'金币')
            else:
                print('非法输入')
                gold = 10000
            if gold ==2000 or gold ==3000 or gold ==4000 or gold ==5000 or gold ==6000 or gold ==7000 or gold ==8000 or gold ==9000:
                answer = str(input('您现在可以购买道具,是否购买?(True或False):'))
                if answer =='True':
                    print('请说出要购买der道具')
                    print('*'*41)
                    print('*金币翻倍器[现有的]   金币翻倍器[得到的]*')
                    print('*     2000G                  1500G      *')
                    print('*'*41)
                    answer = str(input('请说出要购买der道具(金币翻倍器[现有的]说1,金币翻倍器[得到的]说2):'))
                    if gold >2000 and answer =='1':
                        gold = gold - 2000
                        answer = int(input('请说出要翻der倍数:'))
                        gold = str(gold * answer)
                        print('您现在有'+gold+'金币')
                        gold = int(gold)
                    elif gold >1500 and answer =='2':
                        gold = gold - 1500
                        answer = int(input('请说出要翻der倍数:'))
                        gold_mang = 100 * answer
                        gold = gold + gold_mang
                        print('您现在有'+str(gold)+'金币')
                        gold = int(gold)
                    else:
                        print('没有这个道具,游戏结束')
                        gold = 10000
                elif answer =='False':
                    print('继续游戏')
                else:
                    print('非法输入')
                    gold = 10000

其实到这里我们就基本完成了,但如果只写到这里会有很多bug,不想看了也可以就玩这个版本

还剩了一些代码,我也懒得写了,直接完整代码

十一、完整代码

import random
import time
name = str(input('请输入用户名:'))
print('欢迎您,'+name)
try:
    age = int(input('请输入年龄:'))
except ValueError:
    print('非法输入')
    age = 30000
    gold = 10000
if age <10:
    gold = 500
    print('您的初始金币为500')
if age <20 and age >10:
    gold = 1000
    print('您的初始金币为1000')
if age >20 and age <30:
    gold = 1500
    print('您的初始金币为1500')
if age >30 and age <1000:
    gold = 200
    print('年龄过大,您的初始金币为200')
if gold !=10000:
    Game_start = str(input('是否开始游戏?(True或False)'))
    while gold !=10000:
        if Game_start =='True':
            list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
            while list_123 ==10:
                list_123 = [random.randint(1,6),random.randint(1,6),random.randint(1,6),]
            answer = str(input('请猜数(big或small):'))
            if list_123[0] + list_123[1] + list_123[2] >10:
                result = 'big'
                error_result = 'small'
            if list_123[0] + list_123[1] + list_123[2] <10:
                result = 'small'
                error_result = 'big'
            if answer ==result:
                print('您赢了!')
                gold = gold + 100
                print('随机数为'+str(list_123))
                print('您现在有'+str(gold)+'金币')
            elif answer ==error_result:
                print('您输了...')
                print('随机数为'+str(list_123))
                gold = gold - 100
                print('您现在有'+str(gold)+'金币')
            else:
                print('非法输入')
                gold = 10000
            if gold ==2000 or gold ==3000 or gold ==4000 or gold ==5000 or gold ==6000 or gold ==7000 or gold ==8000 or gold ==9000:
                answer = str(input('您现在可以购买道具,是否购买?(True或False):'))
                if answer =='True':
                    print('请说出要购买der道具')
                    print('*'*41)
                    print('*金币翻倍器[现有的]   金币翻倍器[得到的]*')
                    print('*     2000G                  1500G      *')
                    print('*'*41)
                    answer = str(input('请说出要购买der道具(金币翻倍器[现有的]说1,金币翻倍器[得到的]说2):'))
                    if gold >2000 and answer =='1':
                        gold = gold - 2000
                        answer = int(input('请说出要翻der倍数:'))
                        gold = str(gold * answer)
                        print('您现在有'+gold+'金币')
                        gold = int(gold)
                    elif gold >1500 and answer =='2':
                        gold = gold - 1500
                        answer = int(input('请说出要翻der倍数:'))
                        gold_mang = 100 * answer
                        gold = gold + gold_mang
                        print('您现在有'+str(gold)+'金币')
                        gold = int(gold)
                    else:
                        print('没有这个道具,游戏结束')
                        gold = 10000
                elif answer =='False':
                    print('继续游戏')
                else:
                    print('非法输入')
                    gold = 10000
            if gold ==0:
                print('金币没了,游戏结束')
                gold = 10000
        elif Game_start =='False':
            print('欢迎游玩,下次再见!')
            gold = 10000
        else:
            print('非法输入')
            gold = 10000
print('游戏结束,再见!')
time.sleep(10)

到此这篇关于python实战之90行代码写个猜数字的文章就介绍到这了,更多相关python猜数字内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中list常用操作实例详解
Jun 03 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
python3实现跳一跳点击跳跃
Jan 08 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
Python StringIO如何在内存中读写str
Jan 07 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
pandas的resample重采样的使用
Apr 24 Python
Python grequests模块使用场景及代码实例
Aug 10 Python
python 5个实用的技巧
Sep 27 Python
Python 使用office365邮箱的示例
Oct 29 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 #Python
python 破解加密zip文件的密码
python入门之算法学习
Apr 22 #Python
python使用XPath解析数据爬取起点小说网数据
Apr 22 #Python
python 实现德洛内三角剖分的操作
python 三边测量定位的实现代码
python如何读取.mtx文件
Apr 22 #Python
You might like
PHP查询网站的PR值
2013/10/30 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
浅谈js闭包理解
2019/04/01 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
python读取有密码的zip压缩文件实例
2019/02/08 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python 爬取疫情数据的源码
2020/02/09 Python
Django配置跨域并开发测试接口
2020/11/04 Python
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
单身联谊活动方案
2014/01/29 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
国庆节演讲稿
2014/05/27 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers
MySQL优化及索引解析
2022/03/17 MySQL