BuK/IIm20/Vorlesung 6 Lemke
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Python</language>
== Übungsaufgabe S. 20 ==
=== Indexlistenfindefunktion / Lösung des PCP ===
<code id="608c28d240783">
from itertools import product
def is_valid_index_sequence(
sequence: list[int], pair_list: list[tuple]
):
word_x = ''
word_y = ''
for index in sequence:
word_x += pair_list[index][0]
word_y += pair_list[index][1]
return word_x == word_y
def find_index_sequence(pair_list, max_n):
indexes = [i for i in range(len(pair_list))]
for n in range(1, max_n):
sequences = [x for x in product(indexes, repeat=n)]
for s in sequences:
if is_valid_index_sequence(list(s), pair_list):
return s
</code>
<run id="608c28d2407e2">
print(find_index_sequence([('1', '101'), ('10', '00'), ('011', '11')], 20))
</run>