mirror of
https://github.com/KevinMidboe/knowit_julekalender-2018.git
synced 2026-01-04 16:35:31 +00:00
New year, new round of knowit julekalender. Starting this year off a bit late, but lets see how many I can complete 🎉🎅
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
#!/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-16 14:09:31
|
||||
import os
|
||||
|
||||
def get_wordlist():
|
||||
with open(os.path.dirname(__file__) + '/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))
|
||||
return len(matches)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,2 +0,0 @@
|
||||
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_04/ordliste.txt
22282
luke_04/ordliste.txt
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user