mirror of
				https://github.com/KevinMidboe/knowit_julekalender-2017.git
				synced 2025-10-29 17:50:18 +00:00 
			
		
		
		
	Forslag til losning av luke 4.
This commit is contained in:
		
							
								
								
									
										48
									
								
								luke_4/not_pal_but_an.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								luke_4/not_pal_but_an.py
									
									
									
									
									
										Executable 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
									
								
							
							
						
						
									
										2
									
								
								luke_4/oppgave.txt
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										22282
									
								
								luke_4/ordliste.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user