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

一、导入库

import randomimport 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 randomimport timename = str(input('请输入用户名:'))print('欢迎您,'+name)try:    age = int(input('请输入年龄:'))except ValueError:    print('非法输入')    age = 30000    gold = 10000if 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 randomimport timename = str(input('请输入用户名:'))print('欢迎您,'+name)try:    age = int(input('请输入年龄:'))except ValueError:    print('非法输入')    age = 30000    gold = 10000if 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 = 10000print('游戏结束,再见!')time.sleep(10)

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

相关文章

发表新评论