python - If And 不接受第二次输入
问题描述
我的随机数猜测器代码如下所示:
if answer == 'n' and 'N':
print 'I hope to see you next time, %s' % user
exit()
但是,如果我输入'N'
,控制台会空白并退出,而不是打印语句。'n'
仍然有效,'Y' and 'y'
声明完美。所以我不确定这里发生了什么'N'
,但可能是我忽略的一些简单的事情。谢谢
解决方案
让你失望的是你奇怪的语法。
解释器将此解释为
if (answer=='n') and 'N':
请注意,非空字符串的评估与True
内容无关,因此这相当于
if (answer=='n')
要解决此问题,请将此行替换为
if answer=='n' and answer=='N':
请注意,此行永远不应评估为真。
如果你想让它工作,你应该尝试
if answer=='n' or answer=='N':
推荐阅读
- apache-spark - GCP Dataproc 与 Elasticsearch
- .htaccess - 重定向 301 规则不匹配后使用全局 RewriteRule
- android - 为什么我在连接 BillingClient 时收到 DEVELOPER_ERROR 响应代码?
- javascript - Jquery将Firebase数据库中的图像URL添加到HTML表中
- python - 如何避免在 for 循环内的 print 语句中打印 \n?
- java - 通过 Spring Boot 测试运行时控制器中未发生 Bean 注入
- java - 在企业的设备所有者应用程序中,flag.DISALLOW_FACTORY_RESET 是否也阻止硬重置恢复?
- qt - 如何在 Qt 设计器中将标签适合滚动窗口区域?
- angular - 更新值时如何正确绑定组件以刷新?
- email - 直接从 Eloqua 电子邮件提交价值