cuirun 发表于 2023-3-11 20:38:24

关于第五讲小游戏改进

那位朋友能帮我看一下我这个逻辑上哪里出错了吗

KeyError 发表于 2023-3-11 20:38:25

应该改成:
import random
times = 3
secret = random.randint(1,10)
temp = input("不妨猜一下小甲鱼心里想的数字:")
while not temp.isalnum():
    temp = input("重新输入数字:")
while (times > 0):
    temp = int(temp)
    times -= 1
    if temp == secret:
      print("你是小甲鱼心里的蛔虫吗?")
      break
    else:
      if temp > sercret:
            print("大了~")
      elif temp < sercet:
            print("小了~")
      if times > 0:
            temp = input("再猜一次吧:")
            while temp.isalnum():    #把判断语句复制到这里
                temp = input("重新输入数字:")
else:    #times <= 0才会进入这里
    print("机会用光了")

鱼cpython学习者 发表于 2023-3-11 21:31:30

本帖最后由 鱼cpython学习者 于 2023-3-11 21:48 编辑

你的游戏里好像没有设计让用户再次输入的部分
可以将第一个循环移动到第二个循环中的guess = int(temp)前面
另外,提问最好把代码用代码格式贴上来,而不是截图发上来

KeyError 发表于 2023-3-11 23:16:56

print ("重新输入!",end='')
print后面不能有空格。
还有,
print("再猜一下小甲鱼心里想的是哪个数字:", end=" ")
你只打印了让用户输入的提示信息,但没让用户输入第二次猜的,
所以只会判断第一次的输入。

歌者文明清理员 发表于 2023-3-12 11:21:34

KeyError 发表于 2023-3-11 23:16
print后面不能有空格。
还有,



空格是可以有的,只不过不符合PEP8代码规范,从语法上来说是可以成功运行的

土豆/ 发表于 2023-10-25 21:29:54

import random

secret = random.randint(1,10)
temp = input('请输入数字:')
guess = int(temp)
time = 10
while guess!=secret and time>0:
    if guess == secret:
      print ('恭喜你答对啦!')
      print ('答对的奖励就是没有奖励哦!')
    else:
      if guess > secret:
            print ('给个提示,这个数字大了哦!')
            print('再来一次吧:')
      if guess < secret:
            print ('给个提示,这个数字小了哦!')
            print('再来一次吧:')
    time = time - 1
    temp = input('哎呀!猜错了!注意只有十次机会哦!再来一次吧:')
    guess = int(temp)
    print ('恭喜你答对啦!')
    print ('答对的奖励就是没有奖励哦!')
print('游戏结束啦,玩的真开心!')
页: [1]
查看完整版本: 关于第五讲小游戏改进