小小白取经 发表于 2021-1-4 20:33:41

python学习中制作小游戏代码的问题?

下面是根据小甲鱼老师视频学习,自己写的代码

'''用python做个小游戏'''
counts = 3
while counts > 0:
    import random
    answer = random.randint(1,9)
    temp = input('李家睿小朋友今年几岁了')
    guess = int(temp)
    if guess == answer:
       print('好厉害,猜中了~')
       break
    else:
       if guess > answer:
          print('大了,再试试')
       else:
          print("小了,再试试")
    counts = counts - 1
print("游戏结束\n不玩了")


为啥在运行中出现这种情况:

李家睿小朋友今年几岁了5
小了,再试试
李家睿小朋友今年几岁了7
小了,再试试
李家睿小朋友今年几岁了8
大了,再试试
游戏结束
不玩了


输入数字7说小了,数字8说大了,不应该是整数吗?


小小白取经 发表于 2021-1-4 20:35:30

以上是自己写了,等再看视频中小甲鱼老师写的代码,发现有顺序不一样的地方,问下是否跟代码编写顺序有影响?

qiuyouzhi 发表于 2021-1-4 20:36:51

你的answer每次循环都会重置一次,把它放到外面就好啦
'''用python做个小游戏'''

import random
answer = random.randint(1,9)
counts = 3

while counts > 0:
   
    temp = input('李家睿小朋友今年几岁了')
    guess = int(temp)
    if guess == answer:
       print('好厉害,猜中了~')
       break
    else:
       if guess > answer:
          print('大了,再试试')
       else:
          print("小了,再试试")
    counts = counts - 1
print("游戏结束\n不玩了")

小小白取经 发表于 2021-1-4 20:41:38

qiuyouzhi 发表于 2021-1-4 20:36
你的answer每次循环都会重置一次,把它放到外面就好啦

上面输入7小了,8大了,也是这个原因导致的吗

qiuyouzhi 发表于 2021-1-4 20:43:24

小小白取经 发表于 2021-1-4 20:41
上面输入7小了,8大了,也是这个原因导致的吗

是的,它重新生成了一个答案

小小白取经 发表于 2021-1-4 20:43:55

qiuyouzhi 发表于 2021-1-4 20:36
你的answer每次循环都会重置一次,把它放到外面就好啦

李家睿小朋友今年几岁了5
大了,再试试
李家睿小朋友今年几岁了3
小了,再试试
李家睿小朋友今年几岁了4
小了,再试试
游戏结束
不玩了

qiuyouzhi 发表于 2021-1-4 20:44:58

小小白取经 发表于 2021-1-4 20:43
李家睿小朋友今年几岁了5
大了,再试试
李家睿小朋友今年几岁了3


?你用的是我改完后的代码吗

小小白取经 发表于 2021-1-4 20:48:26

qiuyouzhi 发表于 2021-1-4 20:44
?你用的是我改完后的代码吗

用了你的代码,正常了
还是没明白原因。。。

qiuyouzhi 发表于 2021-1-4 20:50:11

小小白取经 发表于 2021-1-4 20:48
用了你的代码,正常了
还是没明白原因。。。

你看你的代码,生成随机数的代码放在了循环里面
每循环一次,答案就要重新被生成一次

小小白取经 发表于 2021-1-4 20:52:20

qiuyouzhi 发表于 2021-1-4 20:43
是的,它重新生成了一个答案

明白了!!游戏开始,共三次机会,第一次输入错误(假如答案是5),再次输入时,实际上原来的5已经不是5了,重新变了,所以后面的两次再怎么输入,数都是变的

qiuyouzhi 发表于 2021-1-4 20:53:29

小小白取经 发表于 2021-1-4 20:52
明白了!!游戏开始,共三次机会,第一次输入错误(假如答案是5),再次输入时,实际上原来的5已经不是5 ...

没错

小小白取经 发表于 2021-1-4 20:53:40

qiuyouzhi 发表于 2021-1-4 20:50
你看你的代码,生成随机数的代码放在了循环里面
每循环一次,答案就要重新被生成一次

谢谢解答

小小白取经 发表于 2021-1-4 21:03:08

qiuyouzhi 发表于 2021-1-4 20:53
没错

前辈,请教下,批量的空格是怎么操作的,我看视频中有一节操作,小甲鱼老师,全选代码,(感觉是按了某个快捷键)然后每一行代码都退格了,有这个吗

qiuyouzhi 发表于 2021-1-4 21:04:52

小小白取经 发表于 2021-1-4 21:03
前辈,请教下,批量的空格是怎么操作的,我看视频中有一节操作,小甲鱼老师,全选代码,(感觉是按了某个 ...

Ctrl + [   (如果你是在用IDLE的话)
页: [1]
查看完整版本: python学习中制作小游戏代码的问题?