Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Split string into characters
- def split(word):
- return list(word)
- # Hämta ord i ordlistan, skicka till funktionen, spara matchande ord i ny lista
- def manage_wordlist(lista1, lista2):
- matching_words1 = []
- for w in range(len(lista1)):
- if try_word(lista1[w], lista2) == len(lista1[w]):
- matching_words1.append(lista1[w])
- return matching_words1
- # Funktion för att köra ordet mot bokstavspoolen
- def try_word(ord, lista):
- copy_list = lista[:]
- matchings = 0
- for counter in range(len(ord)):
- if ord[counter] in copy_list:
- del copy_list[copy_list.index(ord[counter])]
- matchings += 1
- return matchings
- def try_input(ord, lista):
- matchings = 0
- for counter in range(len(ord)):
- if ord[counter] in lista:
- matchings += 1
- return matchings
- # Listor
- with open("svenskaOrdUTF-8.txt") as file:
- raw_list = file.readlines()
- with open("chars.txt") as file2:
- letters = file2.readlines()
- # Städa bort "\n" från listorna
- word_list = []
- for x in raw_list:
- word_list.append(x.replace("\n", ""))
- allowed_letters = []
- for l in letters:
- allowed_letters.append(l.replace("\n", ""))
- # Input validation
- u_input_ok = False
- while not u_input_ok:
- user_input = input("Enter some letters: ")
- user_input = user_input.lower()
- if try_input(user_input, allowed_letters) == len(user_input) and try_input(user_input, allowed_letters) == 9:
- u_input_ok = True
- else:
- print("Please use 9 allowed letters (a-ö)")
- # Splittar inm. till en lista av bokstäver
- letter_pool = split(user_input)
- # Plockar ut den magiska bokstaven
- magic_letter = letter_pool[(len(letter_pool) // 2)]
- # List comprehension för att filtrera bort för långa/korta samt ord utan magiska bokstaven
- filtered_wordlist = [word for word in word_list if 3 < len(word) < 10 and magic_letter in word]
- # Printar resultatet/matchningar
- räkn = 0
- for f in (manage_wordlist(filtered_wordlist, letter_pool)):
- räkn += 1
- nine_letter_words = []
- found_words = []
- for m in (manage_wordlist(filtered_wordlist, letter_pool)):
- if len(m) == 9:
- nine_letter_words.append(m)
- else:
- found_words.append(m)
- if räkn == 0:
- print("Inga matchningar")
- else:
- for f in found_words:
- print(f)
- print("\nOrd som använder alla bokstäver:")
- for p in nine_letter_words:
- print(p)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement