Forslag til losning av luke 4.

This commit is contained in:
2017-12-04 21:11:36 +01:00
parent 69cf1f43a8
commit b58227846f
3 changed files with 22332 additions and 0 deletions

48
luke_4/not_pal_but_an.py Executable file
View File

@@ -0,0 +1,48 @@
#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-
# @Author: KevinMidboe
# @Date: 2017-12-04 16:40:56
# @Last Modified by: KevinMidboe
# @Last Modified time: 2017-12-04 20:20:28
def get_wordlist():
with open('./ordliste.txt', 'r') as wordlist:
read_data = wordlist.read().splitlines()
wordlist.close()
return read_data
def get_letter_instances(word):
letter_instances = {}
for char in list(word):
try:
letter_instances[char] = letter_instances[char] + 1
except KeyError:
letter_instances.update({char: 1})
return letter_instances
def can_be_palindrom(word):
instance = get_letter_instances(word)
values = list(instance.values())
odd = 0
for value in values:
if (value & 1):
odd += 1
return (odd <= 1)
def is_palindrom(string):
return string == string[::-1]
def main():
matches = []
wordlist = get_wordlist()
for word in wordlist:
if (not is_palindrom(word) and can_be_palindrom(word)):
matches.append(word)
print(matches, len(matches))
if __name__ == '__main__':
main()

2
luke_4/oppgave.txt Normal file
View File

@@ -0,0 +1,2 @@
rdet “regninger” er et palindrom, det leses likt fremlengs og baklengs. Ordet “tartar” er ikke et palindrom, men anagrammet “rattar” er det. Hvor mange ord fra denne ordlisten er ikke et palindrom, men har ett eller flere anagram som er det?

22282
luke_4/ordliste.txt Normal file

File diff suppressed because it is too large Load Diff