鱼C论坛

 找回密码
 立即注册
查看: 877|回复: 12

[已解决]003课中为什么猜中之后算你厉害的显示不出来

[复制链接]
发表于 2019-7-30 00:13:29 | 显示全部楼层 |阅读模式

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

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

x
我的代码哪里出错了呢?
  1. import random
  2. num = random.randint(1,10)
  3. print('--不防猜下我心里想的什么数字--')
  4. guess = int(input("不妨猜下我心里想的是哪个数字1-10之间:"))
  5. while guess != num:
  6.     if guess > num:
  7.         print('嘿嘿!大了,大了!')
  8.     else:
  9.         if guess == num:
  10.             print('算你厉害')
  11.         else:
  12.             print('哈哈!小咯')
  13.     guess = int(input("请重新输入:"))

  14. print ('游戏结束')

复制代码
最佳答案
2019-7-30 07:55:41
wwhywhy 发表于 2019-7-30 06:12
while guess != num:
修改成:
while True:
  1. import random
  2. num = random.randint(1,10)
  3. print('--不防猜下我心里想的什么数字--')
  4. guess = int(input("不妨猜下我心里想的是哪个数字1-10之间:"))
  5. while True:
  6.     if guess > num:
  7.         print('嘿嘿!大了,大了!')
  8.     else:
  9.         if guess == num:
  10.             print('算你厉害')
  11.             break
  12.         else:
  13.             print('哈哈!小咯')
  14.     guess = int(input("请重新输入:"))

  15. print ('游戏结束')
复制代码


把 while guess != num 修改成 while True 再加上一个 break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-30 00:43:10 | 显示全部楼层
本帖最后由 geen 于 2019-7-30 00:56 编辑

guess = int(input("请重新输入:"))           #当你输入的guess猜对了,也就是 guess==num(不符合while循环的条件,
                                                          所以跳出while循环),然后print ('游戏结束'),压根执行不到  if guess == num:  这一句;
                                                        换一个说法,你的这个逻辑自相矛盾,while条件是  不等,即剩下 大于  和小于 的情况了,‘ if 相等 :’  就是个多余的语句。
                                                        如果把guess=input()语句放在循环体的最前面,又是可以的,因为重新赋值了guess,没有事先筛选掉 不等  的情况。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-7-30 06:12:30 | 显示全部楼层
while guess != num:
修改成:
while True:
就可以了,你再看下逻辑。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-30 07:55:41 | 显示全部楼层    本楼为最佳答案   
wwhywhy 发表于 2019-7-30 06:12
while guess != num:
修改成:
while True:
  1. import random
  2. num = random.randint(1,10)
  3. print('--不防猜下我心里想的什么数字--')
  4. guess = int(input("不妨猜下我心里想的是哪个数字1-10之间:"))
  5. while True:
  6.     if guess > num:
  7.         print('嘿嘿!大了,大了!')
  8.     else:
  9.         if guess == num:
  10.             print('算你厉害')
  11.             break
  12.         else:
  13.             print('哈哈!小咯')
  14.     guess = int(input("请重新输入:"))

  15. print ('游戏结束')
复制代码


把 while guess != num 修改成 while True 再加上一个 break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-30 18:37:01 From FishC Mobile | 显示全部楼层
1 print("........^O^欢迎光临小甲鱼........")                2 guess=0
3 while guess != 8:
4     temp = input("猜猜小甲鱼现在想的数字:")
5     guess = int(temp)
6     if guess == 8:
7         print("哇,你跟小甲鱼想的一样诶!")
8         print("你果然是小甲鱼的蛔虫!")
9     else:
10         if guess > 8:
11             print("猜大了,小甲鱼不理你!")
12         else:
13             print("猜小了,小甲鱼不理你!")
14 print("^O^结束,回家咯!")


这样也可以哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-31 02:21:30 | 显示全部楼层
  1. import random
  2. num = random.randint(1,10)
  3. print('--不防猜下我心里想的什么数字--')
  4. guess = int(input("不妨猜下我心里想的是哪个数字1-10之间:"))
  5. if guess == num:
  6.     print('算你厉害')
  7. else:
  8.     if guess > num:
  9.         print("嘿嘿!大了,大了!")
  10.     else:
  11.         print("哈哈!小咯")
  12. while guess != num:
  13.     temp = input("请重新输入:")
  14.     guess = int(temp)
  15.     if guess > num:
  16.         print('嘿嘿!大了,大了!')
  17.     else:
  18.         if guess == num:
  19.             print('算你厉害')
  20.         else:
  21.             print('哈哈!小咯')   

  22. print ('游戏结束')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 22:24:02 | 显示全部楼层
wwhywhy 发表于 2019-7-30 06:12
while guess != num:
修改成:
while True:

确实会显示出来了 但是会变成无限循环了
然后这边还有个不太了解的 就是 while  tuer  是等于 while guess == num这个的吗,如果是这样的话 为什么又进入循环了呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 22:33:10 | 显示全部楼层
geen 发表于 2019-7-30 00:43
guess = int(input("请重新输入:"))           #当你输入的guess猜对了,也就是 guess==num(不符合while循 ...

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

使用道具 举报

发表于 2019-7-31 23:34:23 From FishC Mobile | 显示全部楼层
hold_168 发表于 2019-7-31 22:24
确实会显示出来了 但是会变成无限循环了
然后这边还有个不太了解的 就是 while  tuer  是等于 while gue ...

while guess != num:  ,运行后有两种情况,True或者 False。
while True:   ,就是让运行结果一直为True.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-7 16:34:03 | 显示全部楼层
要不试一下我的:
import random

p = input("输入1-10\n:")
s = int(p)
t = random.randint(1,10)
i=0
while 1:
    if s == t:
        print("太棒了")
        break
    else :
        if s < t:
            print("小了")
            i+=1
        else:
            print("大了")
            i+=1
        if i<3:
            p = input("请输入1-10\n:")
            s = int(p)
        else:
            print("游戏结束")
            break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-7 16:37:40 | 显示全部楼层
zltzlt 发表于 2019-7-30 07:55
把 while guess != num 修改成 while True 再加上一个 break

你这个大了不说打了,小了不说小了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-7 16:47:43 | 显示全部楼层
falseh 发表于 2019-8-7 16:37
你这个大了不说打了,小了不说小了

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

使用道具 举报

发表于 2019-8-7 17:37:11 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 12:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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