如果语句让错误的语句通过python

时间:2017-12-16 01:59:33

标签: python if-statement indexing

问题

if语句即使不符合参数

也允许条件通过

描述

当选择等于列表操作的索引2或列表的索引3时,应该运行这段代码。然而,当选择等于列表操作的索引1时,代码仍然运行

if v.selection == v.operations[2] or v.operations[3]:
    print('arrived at a sub n missing - geometric')
    print('index of ', v.selection, 'in the list is ', v.operations.index(v.selection))
    if not v.aSub1:
        v.aSub1 = input('first value in sequence>>>')
    if not v.r:
        v.r = input('common rate>>>')
    if not v.n:
        v.n = input('index (n)>>>')
        pass
    pass
pass

output

1 个答案:

答案 0 :(得分:1)

你正在从错误的角度看if语句。 你写的评价为: 要么v.selection等于v.operations [2]要么v.operations [3]不是假的。 就此而言,任何不是0的东西都不是假的。 这是一个例子:

a = 5;
b = 6;
c = 7;
if (a == b or c):
    print("hey")
else:
    print("nay")

导致:

hey