是否可以在Python中实现RS触发器真值table?

Is it possible to implement RS flip flop truth table in Python?

我是 Python 的新手。我正在使用 Spyder(pandas 和 numpy)来 运行 一种数据分析算法。这需要对数据中的两个变量实施 RS 触发器。 在 C:

中是这样的
((R_b) != FALSE) ? (*(State_pb) = FALSE) : (((S_b) != FALSE) ? (*(State_pb) = TRUE) : *(State_pb));

这里R_b是触发器的R输入,S-b是S输入。注意使用指向触发器前一状态的指针来保留前一状态。这也可以在 Python 中实现吗?

这是一个函数,它使用 Python 的条件运算符相当直接地翻译了您的 C 代码。

from itertools import product

def flipflop(state, r, s):
    return False if r else (True if s else state)

# test

print('state : r, s -> new_state')
for state, r, s in product((False, True), repeat=3):
    print('{!s:5} : {!s:5}, {!s:5} -> {!s:5}'.format(state, r, s, flipflop(state, r, s)))

输出

state : r, s -> new_state
False : False, False -> False
False : False, True  -> True 
False : True , False -> False
False : True , True  -> False
True  : False, False -> True 
True  : False, True  -> True 
True  : True , False -> False
True  : True , True  -> False

请注意,此代码和您的 C 代码都无法正确处理禁止的 r == s == True 输入。