鱼C论坛

 找回密码
 立即注册
查看: 1539|回复: 5

[已解决]请教高手:当输入8的时候,相应的print的内容没出现

[复制链接]
发表于 2017-8-14 17:33:19 | 显示全部楼层 |阅读模式

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

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

x
print("猜字谜")
temp = input("猜猜我心里想的是多少:")  
guess = int(temp)  
while guess != 8:
    if guess == 8:
         print("恭喜!猜对了!")
         print("猜对了也没奖励")
    else:
        if guess < 8:
                    temp = input("猜小了,再猜:")
                    guess = int(temp)
                        
        else:
                    temp = input("猜大了,再猜:")
                    guess = int(temp)
print("游戏结束了,再见!")            
   

-----------------------------
上面的这段代码运行的时候,输入8后,
相对应的:恭喜!猜对了!
                 猜对了也没奖励
没有出现,
请高手帮忙看一下
最佳答案
2017-8-14 17:44:43
  1. print("猜字谜")
  2. temp = input("猜猜我心里想的是多少:")  
  3. guess = int(temp)
  4. while 1:
  5.     if guess == 8:
  6.          print("恭喜!猜对了!")
  7.          print("猜对了也没奖励")
  8.          break
  9.     else:
  10.         if guess < 8:
  11.                     temp = input("猜小了,再猜:")
  12.                     guess = int(temp)
  13.                         
  14.         else:
  15.                     temp = input("猜大了,再猜:")
  16.                     guess = int(temp)
  17. print("游戏结束了,再见!")  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-14 17:38:41 | 显示全部楼层
程序执行时是先判断循环条件的,你输入8,循环的条件不满足,那么循环体就没有执行,所以你这个恭喜猜对了就没有执行。判断等于8应该在循环体之外进行,或者修改循环体的判断条件。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 17:44:43 | 显示全部楼层    本楼为最佳答案   
  1. print("猜字谜")
  2. temp = input("猜猜我心里想的是多少:")  
  3. guess = int(temp)
  4. while 1:
  5.     if guess == 8:
  6.          print("恭喜!猜对了!")
  7.          print("猜对了也没奖励")
  8.          break
  9.     else:
  10.         if guess < 8:
  11.                     temp = input("猜小了,再猜:")
  12.                     guess = int(temp)
  13.                         
  14.         else:
  15.                     temp = input("猜大了,再猜:")
  16.                     guess = int(temp)
  17. print("游戏结束了,再见!")  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 18:10:15 | 显示全部楼层
print("猜字谜")
temp = input("猜猜我心里想的是多少:")
guess = int(temp)
while guess:
    if guess == 8:
        print("恭喜!猜对了!")
        print("猜对了也没奖励")
        break
    else:
        if guess < 8:
            temp = input("猜小了,再猜:")
            guess = int(temp)

        else:
            temp = input("猜大了,再猜:")
            guess = int(temp)
print("游戏结束了,再见!")

##########################
1、你的while条件是!=8,所以输入8的时候就不会执行里面的判断条件
2、缺少一个判断结束语句break,当输入正确就不再执行下面的判断语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 19:18:36 | 显示全部楼层
while guess != 8:
    if guess == 8:

主要是这里的问题
首先这里循环的条件是 不等于8 你输入8后 是不能循环的 直接就结束了
你可以改成while 1
或者 你可以在开头定义一个 i=0 然后每次if完成后加上一个i+=1 这样就会在答案正确的时候结束

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-14 20:14:35 | 显示全部楼层
谢谢楼上几位大侠,最佳答案只有一个,但你们的建议,在我心中都是最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 13:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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