Форум » Логические выражения » № 6246 » Ответить

№ 6246

nadezda: при построении таблицы истинности, получается что переменная w всегда 0 ,а в ответе W это второй столбец, где w принимает значение 1, как так может быть?

Ответов - 2

Поляков: nadezda пишет: получается что переменная w всегда 0 Это не так.

Ж: Вот программа, которая выдает верный ответ [pre2] l=[] for (x,y,z,w) in product([0,1], repeat=4): f= (x>w) or (y<=z) or (not y) if not f: l.append((x,y,z,w)) print((z,x,w,y,f*1)) tab=['?0??','01??','1??0']; kol=len(tab) for n in permutations(range(4),4): k =[0]*kol for c in l: pc = str(c[n[0]])+str(c[n[1]])+str(c[n[2]])+str(c[n[3]]) for j in range(kol): k[j] = max(k[j],fnmatch(pc,tab[j]))*1 if k==[1]*kol: print('ответ: ','xyzw'[n[0]]+'xyzw'[n[1]]+'xyzw'[n[2]]+'xyzw'[n[3]]) [/pre2]



полная версия страницы