刘鑫豪 发表于 2021-7-9 15:46:05

小游戏出问题

本帖最后由 刘鑫豪 于 2021-7-9 15:47 编辑

写的小游戏:"""用Pyhon设计第一个游戏"""
import random
answer = random.randint(1, 10)
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
counts = 3
c = "猜错啦,小甲鱼现在心里想的是"
b = "你是小甲鱼心里的蛔虫吗?!\n哼,猜中了也没奖励!"
a = "游戏结束,不玩啦^_^"
e = "请再次输入:"
while counts > 1 :
    guess = int(temp)            

    if guess == answer:
      print(b)
      break
    else:
      counts -= 1
      if guess < answer:
            print("小了")
      else :
            print("大了")   
      temp = input (e)
      if counts == 1 and guess != answer:
                print(c,answer)

print(a)

结果输完三次答案对了还是显示错的:>>>
================ RESTART: C:\Users\Administrator\Desktop\game.py ===============
不妨猜一下小甲鱼现在心里想的是哪个数字:5
大了
请再次输入:3
小了
请再次输入:4
猜错啦,小甲鱼现在心里想的是 4
游戏结束,不玩啦^_^
求解

逃兵 发表于 2021-7-9 16:00:05

本帖最后由 逃兵 于 2021-7-9 16:37 编辑

第三次输入的数据没有进入循环,导致
"""用Pyhon设计第一个游戏"""
import random
answer = random.randint(1,10)
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
counts = 3
c = "猜错啦,小甲鱼现在心里想的是"
b = "你是小甲鱼心里的蛔虫吗?!\n哼,猜中了也没奖励!"
a = "游戏结束,不玩啦^_^"
e = "请再次输入:"
while counts > 0:
    guess = int(temp)            

    if guess == answer:
      print(b)
      break
    else:
      counts -= 1
      if guess < answer:
            print("小了")
      else :
            print("大了")
      if counts >0:
            temp = input (e)
      if counts == 0 and guess != answer:
                print(c,answer)

print(a)



"""用Pyhon设计第一个游戏"""
import random
answer = random.randint(1,10)
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
counts = 3
c = "猜错啦,小甲鱼现在心里想的是"
b = "你是小甲鱼心里的蛔虫吗?!\n哼,猜中了也没奖励!"
a = "游戏结束,不玩啦^_^"
e = "请再次输入:"
while counts > 0:
    guess = int(temp)            

    if guess == answer:
      print(b)
      break
    else:
      counts -= 1
      if guess < answer:
            print("小了")
      else :
            print("大了")
            
      if counts == 0 and guess != answer:
            print(c,answer)
      else:
            temp = input (e)

print(a)

godzero 发表于 2021-7-9 16:03:53

代码应该如下:
"""用Pyhon设计第一个游戏"""
import random
answer = random.randint(1, 10)
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
counts = 3
c = "猜错啦,小甲鱼现在心里想的是"
b = "你是小甲鱼心里的蛔虫吗?!\n哼,猜中了也没奖励!"
a = "游戏结束,不玩啦^_^"
e = "请再次输入:"
while counts > 1:
    guess = int(temp)
    if guess == answer:
      print(b)
      break
    else:
      counts -= 1
      if guess < answer:
            print("小了")
      else:
            print("大了")   
      temp = input(e)
      if counts < 1 and guess != answer:
            print(c, answer)
print(a)
# 你的代码问题在于最后一步判断,counts==1,即判断第三次输入,你这里第三次猜中也算错误了

刘鑫豪 发表于 2021-7-9 16:23:33

godzero 发表于 2021-7-9 16:03
代码应该如下:
"""用Pyhon设计第一个游戏"""
import random


>>>
================ RESTART: C:\Users\Administrator\Desktop\game.py ===============
不妨猜一下小甲鱼现在心里想的是哪个数字:4
小了
请再次输入:6
小了
请再次输入:9
游戏结束,不玩啦^_^
>>>
那他就没提醒数字是多少了

suie 发表于 2021-7-9 16:33:06

{:10_256:}

刘鑫豪 发表于 2021-7-9 16:33:19

逃兵 发表于 2021-7-9 16:00
第三次输入的数据没有进入循环,导致

>>>
================ RESTART: C:\Users\Administrator\Desktop\game.py ===============
不妨猜一下小甲鱼现在心里想的是哪个数字:5
小了
请再次输入:8
小了
请再次输入:9
游戏结束,不玩啦^_^

不好意思,你这个也不行啊,第三次也没有提醒是对还是错

逃兵 发表于 2021-7-9 16:38:31

刘鑫豪 发表于 2021-7-9 16:33
>>>
================ RESTART: C:%users\Administrator\Desktop\game.py ===============
不妨猜一下 ...

咦,我自己测试两个都可以呀

不妨猜一下小甲鱼现在心里想的是哪个数字:1
小了
请再次输入:2
小了
请再次输入:3
小了
猜错啦,小甲鱼现在心里想的是 6
游戏结束,不玩啦^_^

刘鑫豪 发表于 2021-7-9 16:47:45

逃兵 发表于 2021-7-9 16:38
咦,我自己测试两个都可以呀

哦,对,我之前while counts > 0忘改了,你说的有道理,谢谢。哎,这循环寻得我头都大了

老迈 发表于 2021-7-11 11:45:28

第三段没进入循环

Kayko 发表于 2021-7-12 11:52:33

{:10_254:}
页: [1]
查看完整版本: 小游戏出问题