15588686105 发表于 2020-4-18 14:53:45

帮我看看哪里出了问题

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

bingo='1'
answer= input('猜猜')
while True:
    if answer == bingo:
      print('nb')
      break
    print('再猜猜:')
这是我写的代码

BngThea 发表于 2020-4-18 14:57:48

把input语句放到while循环中

15588686105 发表于 2020-4-18 14:58:03

bingo='1'
answer= input('猜猜')
while True:
    if answer == bingo:
      break
    answer==input('再猜猜')
print('nb')
还有这个为什么即使输入了1也是让我再猜猜

15588686105 发表于 2020-4-18 15:01:17

15588686105 发表于 2020-4-18 14:58
bingo='1'
answer= input('猜猜')
while True:


这个我发现我第二个应该用=而我用了==
但不是很明白谁来讲讲为啥是=不是==

qiuyouzhi 发表于 2020-4-18 15:08:55

15588686105 发表于 2020-4-18 15:01
这个我发现我第二个应该用=而我用了==
但不是很明白谁来讲讲为啥是=不是==

=是赋值,==才是判断是否相等。
这就是Python的语法。

悠悠2264 发表于 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')

15588686105 发表于 2020-4-18 15:34:55

BngThea 发表于 2020-4-18 14:57
把input语句放到while循环中

谢谢,可是我不明白为什么要这样做呢,小甲鱼好像也是放在外面的啊

15588686105 发表于 2020-4-18 15:35:28

qiuyouzhi 发表于 2020-4-18 15:08
=是赋值,==才是判断是否相等。
这就是Python的语法。

哦哦了解

qiuyouzhi 发表于 2020-4-18 15:36:24

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

break还能退出if语句???

15588686105 发表于 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了

15588686105 发表于 2020-4-18 15:45:23

qiuyouzhi 发表于 2020-4-18 15:36
break还能退出if语句???

{:10_245:}那老哥帮我解释一下吧

悠悠2264 发表于 2020-4-18 15:47:23

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

不好意思,break不能退出if语句{:10_266:}。用break或变量q都可以

qiuyouzhi 发表于 2020-4-18 15:48:29

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

因为你要重复接收用户的输入,不然就只能猜一次,
你也没有必要写循环了。

悠悠2264 发表于 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')

15588686105 发表于 2020-4-18 16:22:04

悠悠2264 发表于 2020-4-18 15:47
不好意思,break不能退出if语句。用break或变量q都可以

okoko

15588686105 发表于 2020-4-18 16:22:57

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

enen原来如此
页: [1]
查看完整版本: 帮我看看哪里出了问题