如果statement是false但是代码在其中,仍然和python中的整个脚本中的所有代码一样运行 - 对Python来说是新的

时间:2017-06-30 00:28:17

标签: python python-3.x if-statement

这是通过询问用户他们想要了解哪个元素来查找元素详细信息的代码。问题是当我运行它时会打印所有的打印语句。

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')

当我运行它时会发生这种情况。

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

1 个答案:

答案 0 :(得分:5)

那是因为测试

 element == ('1') or ('hydrogen')

被解释为

 element == ('1')
  or
('hydrogen')

第二部分总是如此。

你可能想要的是

if  element == '1' or element == 'hydrogen':