鱼C论坛

 找回密码
 立即注册
查看: 2088|回复: 16

[已解决]数字游戏有问题

[复制链接]
发表于 2019-12-22 17:04:31 | 显示全部楼层 |阅读模式

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

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

x
为什么总是重复,没法正常运行,
不知道哪里错了.
求大神解答.

为什么运行不了总是重复

为什么运行不了总是重复
最佳答案
2019-12-22 17:44:35
guess = int(temp) 这句错了 你在循环里没有给tem赋新值 所以guess每次都是你第一次输入的数 肯定没变化啊 我给你改了 你看看是不是这意思 对了的话给个最佳答案
  1. import random
  2. num = random.randint(0,100)
  3. times = 0
  4. print ("Number(0,100) guess game")
  5. print ("You will have 10 times to guess")
  6. print ("Guess out of range will game over immediately!")
  7. temp = input()
  8. guess = int(temp)
  9. times = times + 1
  10. while 0 <= guess <= 100:
  11.     if times == 10:
  12.         if guess > num:
  13.             print ("Too high,The number is")
  14.             print ("Guess times over,game over!")
  15.             break
  16.         elif guess < num:
  17.             print ("Too Low,The number is")
  18.             print ("Guess times over,game over!")
  19.             break
  20.         else:
  21.             print ("You guess it.The number is:")
  22.             
  23.             print ("times is:")
  24.             print ("Your score is")
  25.             break
  26.     else:
  27.         if guess > num:
  28.             print ("Too high,guess again!")
  29.         elif guess < num:
  30.             print ("Too Low,guess again!")
  31.         else:
  32.             print ("You guess it.The number is:")
  33.             print ("times is:")
  34.             print ("Your score is")
  35.             break
  36.         guess = int(input("guess a number:"))
  37.         times = times + 1
  38.         guess = int(guess)
  39.      
  40. else:
  41.     print ("Your guess is out of range!Game over!")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-22 17:06:12 | 显示全部楼层
代码?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-22 17:09:27 | 显示全部楼层

我也不知道啊,才学什么也不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 17:09:50 | 显示全部楼层
基因突变 发表于 2019-12-22 17:09
我也不知道啊,才学什么也不懂

我的意思是把代码发上来。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 17:10:49 | 显示全部楼层
再说,楼主用的 WinXP 过时了,而且 Python 3.5+ 不兼容 WinXP。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 17:12:16 | 显示全部楼层

这是我在网上找到的一个,想改一下试试手,结果发现能力不足,怎么也改不对.总是重复一条语句.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 17:12:36 | 显示全部楼层
基因突变 发表于 2019-12-22 17:12
这是我在网上找到的一个,想改一下试试手,结果发现能力不足,怎么也改不对.总是重复一条语句.

把代码(文本)发上来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 17:15:45 | 显示全部楼层
zltzlt 发表于 2019-12-22 17:12
把代码(文本)发上来

import random
num = random.randint(0,100)
times = 0
print ("Number(0,100) guess game")
print ("You will have 10 times to guess")
print ("Guess out of range will game over immediately!")
temp = input()
guess = int(temp)
times = times + 1
while 0 <= guess <= 100:
    if times == 10:
        if guess > num:
            print ("Too high,The number is")
            print ("Guess times over,game over!")
        elif guess < num:
            print ("Too Low,The number is")
            print ("Guess times over,game over!")
        else:
            print ("You guess it.The number is:")
            
            print ("times is:")
            print ("Your score is")
        break
    else:
        guess = int(temp)
        if guess > num:
            print ("Too high,guess again!")
        elif guess < num:
            print ("Too Low,guess again!")
        else:
            print ("You guess it.The number is:")
            
            print ("times is:")
            print ("Your score is")
            break

        guess = int(input("guess a number:"))
        times = times + 1      
else:
    print ("Your guess is out of range!Game over!")
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 17:17:51 | 显示全部楼层
zltzlt 发表于 2019-12-22 17:10
再说,楼主用的 WinXP 过时了,而且 Python 3.5+ 不兼容 WinXP。

我还在上学,条件只允许用win xp
我这是3.4版的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 17:25:15 | 显示全部楼层
  1. import random

  2. print('Number(0 , 100) guess game')
  3. print('You will have 10 times to guess')
  4. print('Guess out of range will game over immediately!')
  5. num = random . randint(0 , 100)
  6. times = 10
  7. score = 100
  8. while times:
  9.     guess = int(input('Please guess a number(0 ~ 100) : '))
  10.     if guess == num:
  11.         print('You guess it. The number is : ' , guess)
  12.         print('times is : ' , 10 - times)
  13.         print('Your score is : ' , score)
  14.         break
  15.     else:
  16.         if guess > num:
  17.             print('Too hight, guess again!')
  18.         else:
  19.             print('Too low, guess again!')
  20.     times -= 1
  21.     score -= 10
  22. else:
  23.     print('The number is : ' , num)
  24.     print('Your guess is out of range! Game over!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 17:31:43 | 显示全部楼层

这是什么意思
不懂,和我这不一样啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 17:40:00 | 显示全部楼层
基因突变 发表于 2019-12-22 17:31
这是什么意思
不懂,和我这不一样啊


        不一样怎么了,难道执行效果有问题?
        如果和你一样不就错了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-12-22 17:44:35 | 显示全部楼层    本楼为最佳答案   
guess = int(temp) 这句错了 你在循环里没有给tem赋新值 所以guess每次都是你第一次输入的数 肯定没变化啊 我给你改了 你看看是不是这意思 对了的话给个最佳答案
  1. import random
  2. num = random.randint(0,100)
  3. times = 0
  4. print ("Number(0,100) guess game")
  5. print ("You will have 10 times to guess")
  6. print ("Guess out of range will game over immediately!")
  7. temp = input()
  8. guess = int(temp)
  9. times = times + 1
  10. while 0 <= guess <= 100:
  11.     if times == 10:
  12.         if guess > num:
  13.             print ("Too high,The number is")
  14.             print ("Guess times over,game over!")
  15.             break
  16.         elif guess < num:
  17.             print ("Too Low,The number is")
  18.             print ("Guess times over,game over!")
  19.             break
  20.         else:
  21.             print ("You guess it.The number is:")
  22.             
  23.             print ("times is:")
  24.             print ("Your score is")
  25.             break
  26.     else:
  27.         if guess > num:
  28.             print ("Too high,guess again!")
  29.         elif guess < num:
  30.             print ("Too Low,guess again!")
  31.         else:
  32.             print ("You guess it.The number is:")
  33.             print ("times is:")
  34.             print ("Your score is")
  35.             break
  36.         guess = int(input("guess a number:"))
  37.         times = times + 1
  38.         guess = int(guess)
  39.      
  40. else:
  41.     print ("Your guess is out of range!Game over!")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 18:12:51 | 显示全部楼层
TJBEST 发表于 2019-12-22 17:44
guess = int(temp) 这句错了 你在循环里没有给tem赋新值 所以guess每次都是你第一次输入的数 肯定没变化啊  ...

高手,谢谢!!!
但是我还是有一个疑问
<看下嘛 >
import random
num = random.randint(0,100)
times = 0
print ("Number(0,100) guess game")
print ("You will have 10 times to guess")
print ("Guess out of range will game over immediately!")
temp = input()
guess = int(temp)
times = times + 1
while 0 <= guess <= 100:
    if times == 10:
        if guess > num:
            print ("Too high,The number is")
            print ("Guess times over,game over!")
            break
        elif guess < num:
            print ("Too Low,The number is")
            print ("Guess times over,game over!")
            break
        else:
            print ("You guess it.The number is:")
            
            print ("times is:")
            print ("Your score is")
            break
    else:
                                                                               我一开始是将 guess = int(temp) 加在这里的为什么不行
        if guess > num:
            print ("Too high,guess again!")
        elif guess < num:
            print ("Too Low,guess again!")
        else:
            print ("You guess it.The number is:")
            print ("times is:")
            print ("Your score is")
            break
        guess = int(input("guess a number:"))
        times = times + 1
        guess = int(guess)                                                    你将它加在这里就可以了.我有点不懂 帮忙解答一下 谢谢!
     
else:
    print ("Your guess is out of range!Game over!")

还有你这个代码格式是怎么发出来的,教教我呗
(我去上晚自习了.....)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 18:38:35 | 显示全部楼层
基因突变 发表于 2019-12-22 18:12
高手,谢谢!!!
但是我还是有一个疑问

第一次你在循环外 guess = int(temp)所以 guess现在就是你第一次输入的值 所以没必要再写一遍
等第一次判断完 你猜错了 在进行 输入新值 int 等等

  guess = int(input("guess a number:"))
  times = times + 1
  guess = int(guess)
这相当于一套组合拳啊,我这样写比较符合认知 你那么写也可以  只不过 guess = int(guess)就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-22 18:40:32 | 显示全部楼层
基因突变 发表于 2019-12-22 18:12
高手,谢谢!!!
但是我还是有一个疑问

代码复制完以后,点击发帖子上面有一个符号  <>   然后粘贴到弹出的文本框中 然后确定即可。就可以发代码了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 19:29:32 From FishC Mobile | 显示全部楼层
谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-17 18:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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