鱼C论坛

 找回密码
 立即注册
查看: 987|回复: 4

[已解决]Python004课后作业改进游戏的题,求鱼油帮看我的程序哪里出问题了

[复制链接]
发表于 2018-9-1 21:17:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
print("-----------鱼C工作室----------")
temp=input("不妨猜猜小甲鱼心中在想哪个数字呢:")
guess=int(temp)
chance=3
while "chance" and guess!=8:
    if guess>8:
        temp=input("哥,大了,大了,请重新输入吧:")
        continue
    else:
        temp=input("哎呦,小了小,请重新输入吧:")
    chance=chance-1
      
else:
    print("我草!你是小甲鱼心里的蛔虫吗?")
    print("哼,猜中也没有奖励!")
print("游戏结束")
最佳答案
2018-9-1 22:25:54
本帖最后由 geen 于 2018-9-1 22:27 编辑

print("-----------鱼C工作室----------")
temp=input("不妨猜猜小甲鱼心中在想哪个数字呢:")
guess=int(temp)
chance=3
while "chance" and guess!=8:     #“chance” 要把双引号去掉,否则 chance 是字符串,而不是变量名。
    if guess>8:
        temp=input("哥,大了,大了,请重新输入吧:")
        continue
    else:                                          
        temp=input("哎呦,小了小,请重新输入吧:")
    chance=chance-1
else:                                                  # while 不能和 else 直接搭配使用,别乱来啊。。
    print("我草!你是小甲鱼心里的蛔虫吗?")
    print("哼,猜中也没有奖励!")
print("游戏结束")


1.  把 "chance" 去掉 双引号后,运行结果:

-----------鱼C工作室----------
不妨猜猜小甲鱼心中在想哪个数字呢:6
哎呦,小了小,请重新输入吧:7
哎呦,小了小,请重新输入吧:3
哎呦,小了小,请重新输入吧:4
我草!你是小甲鱼心里的蛔虫吗?
哼,猜中也没有奖励!
游戏结束
>>>

可以运行了4次(最多只能运行3次),而且当把chance用完了,依然会打印“我草!你是小甲鱼心里的蛔虫吗?哼,猜中也没有奖励!”
,哪怕没有猜中。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-1 21:25:30 | 显示全部楼层
"chance"是啥,字符串永远是真,把引号去啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-1 21:41:10 | 显示全部楼层
不需要引号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 22:25:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 geen 于 2018-9-1 22:27 编辑

print("-----------鱼C工作室----------")
temp=input("不妨猜猜小甲鱼心中在想哪个数字呢:")
guess=int(temp)
chance=3
while "chance" and guess!=8:     #“chance” 要把双引号去掉,否则 chance 是字符串,而不是变量名。
    if guess>8:
        temp=input("哥,大了,大了,请重新输入吧:")
        continue
    else:                                          
        temp=input("哎呦,小了小,请重新输入吧:")
    chance=chance-1
else:                                                  # while 不能和 else 直接搭配使用,别乱来啊。。
    print("我草!你是小甲鱼心里的蛔虫吗?")
    print("哼,猜中也没有奖励!")
print("游戏结束")


1.  把 "chance" 去掉 双引号后,运行结果:

-----------鱼C工作室----------
不妨猜猜小甲鱼心中在想哪个数字呢:6
哎呦,小了小,请重新输入吧:7
哎呦,小了小,请重新输入吧:3
哎呦,小了小,请重新输入吧:4
我草!你是小甲鱼心里的蛔虫吗?
哼,猜中也没有奖励!
游戏结束
>>>

可以运行了4次(最多只能运行3次),而且当把chance用完了,依然会打印“我草!你是小甲鱼心里的蛔虫吗?哼,猜中也没有奖励!”
,哪怕没有猜中。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-1 23:07:10 | 显示全部楼层
本帖最后由 skb666 于 2018-9-1 23:10 编辑

__author__='skb666'
def guess_number():
        pd=True
        while pd==True:
                import random,os
                os.system('cls')
                hh=""               
                ws=random.randint(1,5)    #位数等概率
                zd1={1:[1,9],2:[10,99],3:[100,999],4:[1000,9999],5:[10000,99999]}
                ys=random.randint(zd1[ws][0],zd1[ws][1])    #生成随机数ys
                mi=zd1[ws][0]-1
                ma=zd1[ws][1]+1
                print("猜数字游戏开始,已为你生成"+str(len(str(ys)))+"位的随机数!")
                sr=input("你猜该数为("+str(mi)+","+str(ma)+"):")   #输入猜测数
                if sr=="":
                        cs=ys
                        hh="Y"
                else:
                        cs=int(sr)
                js=1   #记录猜测次数
                while cs!=ys:   #判断是否猜对
                        if cs>ys:
                                if cs<ma:
                                        ma=cs
                                sr=input("太大了,再猜猜("+str(mi)+","+str(ma)+"):")
                                if sr=="":
                                        cs=ys
                                        hh="Y"
                                else:
                                        cs=int(sr)
                                js+=1   #猜测次数加1
                        elif cs<ys:
                                if cs>mi:
                                        mi=cs
                                sr=input("太小了,再猜猜("+str(mi)+","+str(ma)+"):")
                                if sr=="":
                                        cs=ys
                                        hh="Y"
                                else:
                                        cs=int(sr)
                                js+=1
                if cs==ys and hh=="":
                        print("恭喜你,猜对了!你总共猜了"+str(js)+"次!")
                        hh=input("要再玩一次吗?(Y/N)")   
                        if hh.strip().upper()=="N":
                                pd=False   #是否结束循环
if __name__=='__main__':
        guess_number()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-6 09:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表