首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果语句为false,但其中的代码仍会像python中的整个脚本中的所有代码一样运行- Python的新特性

如果语句为false,但其中的代码仍会像python中的整个脚本中的所有代码一样运行- Python的新特性
EN

Stack Overflow用户
提问于 2017-06-30 08:28:17
回答 1查看 44关注 0票数 3

这是一段代码,用于通过询问用户想要了解的元素来查找有关元素的详细信息。问题是,当我运行它时,它会打印所有的print语句。

代码语言:javascript
复制
print ('Please type the element number or the name - no caps')
element = input('What element do you want to learn about?')


if element == ('1') or ('hydrogen'):
        print ('Hydrogen #1')
        print ('Gas')
        print ('Non-Metal')
        print ('Weight: 1.008')


if element == ('2') or ('helium'):
    print ('Helium #2')
    print ('Gas')
    print ('Non-Metal')
    print ('Weight: 4.0026')

if element == ('3') or ('lithium'):
    print ('Helium #3')
    print ('Solid')
    print ('Metal')
    print ('Weight: 6.94')

这就是我运行它时发生的事情。

代码语言:javascript
复制
Please type the element number or the name - no caps
What element do you want to learn about? 1
Hydrogen #1
Gas
Non-Metal
Weight: 1.008
Helium #2
Gas
Non-Metal
Weight: 4.0026
Helium #3
Solid
Metal
Weight: 6.94
EN

回答 1

Stack Overflow用户

发布于 2017-06-30 08:31:45

那是因为测试

代码语言:javascript
复制
 element == ('1') or ('hydrogen')

被解释为

代码语言:javascript
复制
 element == ('1')
  or
('hydrogen')

第二部分总是正确的。

你大概想要的是

代码语言:javascript
复制
if  element == '1' or element == 'hydrogen':
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44836912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档