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 使用requests模块发送GET和POST请求的实现代码
Sep 21 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
pandas 根据列的值选取所有行的示例
Nov 07 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
用Python读取几十万行文本数据
Dec 24 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
python做反被爬保护的方法
Jul 01 Python
ipad上运行python的方法步骤
Oct 12 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
浅谈怎么给Python添加类型标注
Jun 08 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操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
Jquery取得iframe下内容的方法
2013/11/18 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
python eventlet绿化和patch原理
2020/11/21 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
二年级评语大全
2014/04/23 职场文书
高中学生自我评价范文
2014/09/23 职场文书
银行转正自我鉴定
2014/09/29 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
2015高考寄语集锦
2015/02/27 职场文书
工作试用期自我评价
2015/03/10 职场文书
团委工作总结2015
2015/04/02 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
企业投资意向书
2015/05/09 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS