设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 14603|回复: 3
打印 上一主题 下一主题

【求助】while语句时有逻辑问题

[复制链接]

2

主题

0

好友

26

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-8-1 11:02:45 |只看该作者 |倒序浏览
     我是想让用户重复输入包含‘聪明‘或’傻‘字的语句,输入其他内容时则提示错误,输入’聪明‘之前可以不断输入。
     现在的问题是:在用户输入’聪明‘后,程序会把“输入其他内容时的提示”也一起打印出来。
     代码如下,请求大佬指正:a = False
print('你觉得我是个什么样的人?')

while a == False:
    answer = input()

    if'傻' in answer:
       print('你才傻')

    if '聪明' in answer:
       print('嘿嘿,还好啦')
       a = True

    else:
       print('听不懂')

    运行结果:
你觉得我是个什么样的人?
456
听不懂
傻子
你才傻
听不懂
聪明人
嘿嘿,还好啦

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-8-1 14:35:19 |只看该作者
因为你第二个用的是 if 而不是 elif,所以你这里有两个独立判断逻辑
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

19

积分

新手上路

Rank: 1

板凳
发表于 2018-8-1 17:11:39 |只看该作者
a = False
print('你觉得我是个什么样的人?')

while a == False:
    answer = input()

    if'傻' in answer:
       print('你才傻')

    elif '聪明' in answer:
       print('嘿嘿,还好啦')
       a = True

    else:
       print('听不懂')
回复

使用道具 举报

2

主题

0

好友

26

积分

新手上路

Rank: 1

地板
发表于 2018-8-7 08:52:33 |只看该作者
伤感的小龙虾 发表于 2018-8-1 17:11
a = False
print('你觉得我是个什么样的人?')

原来是这样,试了试,果然。
多谢龙虾兄出手相助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 19:16 , Processed in 0.014336 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部