鱼C论坛

 找回密码
 立即注册
查看: 2259|回复: 15

[已解决]帮我看看哪里出了问题

[复制链接]
发表于 2020-4-18 14:53:45 | 显示全部楼层 |阅读模式

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

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

x
为啥我的这个运行起来猜错了就会无限循环而不会让我再猜一次呢
问题在哪
怎么解决啊求助

bingo='1'
answer= input('猜猜')
while True:
    if answer == bingo:
        print('nb')
        break
    print('再猜猜:')
这是我写的代码
最佳答案
2020-4-18 15:48:56
本帖最后由 悠悠2264 于 2020-4-18 15:51 编辑

answer==input('再猜猜')
这行代码写错了,这个应该是赋值的,应该是=(=是赋值,==是判断是否相等),改成如下:
answer=input('再猜猜')
完整代码:
bingo='1'
answer= input('猜猜')
while True:
    if answer == bingo:
        break
    answer=input('再猜猜')
print('nb')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-18 14:57:48 | 显示全部楼层
把input语句放到while循环中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 14:58:03 | 显示全部楼层
bingo='1'
answer= input('猜猜')
while True:
    if answer == bingo:
        break
    answer==input('再猜猜')
print('nb')
还有这个为什么即使输入了1也是让我再猜猜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 15:01:17 | 显示全部楼层
15588686105 发表于 2020-4-18 14:58
bingo='1'
answer= input('猜猜')
while True:

这个我发现我第二个应该用=而我用了==
但不是很明白谁来讲讲为啥是=不是==
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 15:08:55 | 显示全部楼层
15588686105 发表于 2020-4-18 15:01
这个我发现我第二个应该用=而我用了==
但不是很明白谁来讲讲为啥是=不是==

=是赋值,==才是判断是否相等。
这就是Python的语法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 15:17:55 | 显示全部楼层
本帖最后由 悠悠2264 于 2020-4-18 15:53 编辑

=是赋值的,==是判断是否相等,相等返回true,不相等返回false。
q = 0
bingo='1'
answer= input('猜猜')
while q==0:
    if answer == bingo:
        q = 1
    else:
        answer=input('再猜猜')
print('nb')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 15:34:55 | 显示全部楼层
BngThea 发表于 2020-4-18 14:57
把input语句放到while循环中

谢谢,可是我不明白为什么要这样做呢,小甲鱼好像也是放在外面的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 15:35:28 | 显示全部楼层
qiuyouzhi 发表于 2020-4-18 15:08
=是赋值,==才是判断是否相等。
这就是Python的语法。

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

使用道具 举报

发表于 2020-4-18 15:36:24 | 显示全部楼层
悠悠2264 发表于 2020-4-18 15:17
1.输入正确以后break退出的是if语句,不是while,所以还会继续循环。可以设置变量q,0表示继续猜,1表示退出 ...

break还能退出if语句???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 15:39:59 | 显示全部楼层
悠悠2264 发表于 2020-4-18 15:17
1.输入正确以后break退出的是if语句,不是while,所以还会继续循环。可以设置变量q,0表示继续猜,1表示退出 ...

好的感谢老哥给力这里设置的Q是不是相当于break只不过用break的话就只能退出if而用Q就可以推出while了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 15:45:23 | 显示全部楼层
qiuyouzhi 发表于 2020-4-18 15:36
break还能退出if语句???

那老哥帮我解释一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 15:47:23 | 显示全部楼层
15588686105 发表于 2020-4-18 15:39
好的感谢老哥给力这里设置的Q是不是相当于break只不过用break的话就只能退出if而用Q就可以推出while了

不好意思,break不能退出if语句。用break或变量q都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 15:48:29 | 显示全部楼层
15588686105 发表于 2020-4-18 15:34
谢谢,可是我不明白为什么要这样做呢,小甲鱼好像也是放在外面的啊

因为你要重复接收用户的输入,不然就只能猜一次,
你也没有必要写循环了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-18 15:48:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 悠悠2264 于 2020-4-18 15:51 编辑

answer==input('再猜猜')
这行代码写错了,这个应该是赋值的,应该是=(=是赋值,==是判断是否相等),改成如下:
answer=input('再猜猜')
完整代码:
bingo='1'
answer= input('猜猜')
while True:
    if answer == bingo:
        break
    answer=input('再猜猜')
print('nb')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-18 16:22:04 | 显示全部楼层
悠悠2264 发表于 2020-4-18 15:47
不好意思,break不能退出if语句。用break或变量q都可以

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

使用道具 举报

 楼主| 发表于 2020-4-18 16:22:57 | 显示全部楼层
悠悠2264 发表于 2020-4-18 15:48
answer==input('再猜猜')
这行代码写错了,这个应该是赋值的,应该是=(=是赋值,==是判断是否相等),改成如 ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 22:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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