Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #algorytm na kombinacje
- def combinations(iterable, r):
- # combinations('ABCD', 2) --> AB AC AD BC BD CD
- # combinations(range(4), 3) --> 012 013 023 123
- pool = tuple(iterable)
- n = len(pool)
- if r > n:
- return
- indices = list(range(r))
- yield tuple(pool[i] for i in indices)
- while True:
- for i in reversed(range(r)):
- if indices[i] != i + n - r:
- break
- else:
- return
- indices[i] += 1
- for j in range(i+1, r):
- indices[j] = indices[j-1] + 1
- yield tuple(pool[i] for i in indices)
- #wejscie danych
- print("Prosze podac atrybuty relacji oddzielone przecinkami")
- x = input().split(sep=',')
- print("Prosze podac liczbe zaleznosci funkcyjnych, a nastepnie zbior")
- tab=[]
- for i in range(int(input())):
- przed, po = input().split(sep='->')
- set1={przed}
- set2={po}
- dane = [set1, set2]
- tab.append(dane)
- #print(x)
- print(tab)
- #print((tab[2])[0])
- #wyswietlenie kombinacji
- for j in range(1, len(x)+1):
- gen_obj = combinations(x,j)
- for el in gen_obj:
- #print(*el, sep=',')
- #domkniecia
- dom = {el}
- for i,elem in enumerate(tab):
- print((tab[i])[0])
- #if ((tab[i])[0]).issubset(dom):
- #dom = dom.union((tab[i])[1])
- #else: break;
- #print(dom)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement