如果语句让错误的语句通过python [复制]

问题描述 投票:0回答:1

这个问题在这里已有答案:

问题

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

python if-statement indexing
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.