2015-04-16 5 views
2

вводе:Сформировать Таблицу истинности, но оставить некоторые переменные Неопределенные в питоных

vv = [True, False, None, True, None] 

Есть ли способ для создания таблицы истинности, заменив неопределенное одно логическое значение в то время Так ouptut будет

[True, False, True, True, None] 
[True, False, False, True, None] 
[True, False, None, True, False] 
[True, False, None, True, True] 
+3

Что такое 'Undefined' здесь? –

+0

Эти переменные еще не назначены, поэтому они перечислены как неопределенные. – rrgirish

+0

Значит, эти переменные имеют определенное значение по умолчанию, потому что вы просто используете имя переменной без присвоения некоторого значения. Или это даст вам NameError. Или вы хотите сохранить их в строчном формате? –

ответ

2

Предполагая, что Неопределенное может быть None, например, вы могли бы сделать следующее:

l = [True, False, None, True, None] 

# first get indices of None/Undefined elements in the input list 
indexes = [i for i,v in enumerate(l) if v is None] 

# for each index, generate new list using True and False 
# as substitutes. 
for idx in indexes: 
    for sub in [True, False]: 
     new_l = l[:] 
     new_l[idx] = sub 
     print(new_l) 

Это дает:

[True, False, True, True, None] 
[True, False, False, True, None] 
[True, False, None, True, True] 
[True, False, None, True, False] 
+0

Спасибо! Это именно то, что я искал! – rrgirish

+0

@rrgirish Прохладный. Рад, что смог помочь. – Marcin

Смежные вопросы