JGuizard
9/13/2019 - 6:32 PM

riddles_validator.py

import csv

def parse_riddle(row):

	id = int(row[0])
	riddle = row[1]
	answer = list(row[2])
	letters = list(row[3])

	return id, riddle, answer, letters

#filename = input("Insert filename: ")
filename = "levels_it.txt"
current = 0
fine = True
with open(filename) as csv_file:
	csv_reader = csv.reader(csv_file, delimiter=";")
	for row in csv_reader:

		id, riddle, answer, letters = parse_riddle(row)

		if(id!=current+1):
			print("Error in counting: riddle %d is missing" % (current+1))
			fine=False
		current=id

		if(len(letters)!=12):
			print("Riddle %d answer has %d letters" % (id, len(letters)))
			fine=False

		answer_bag = answer.copy()

		for a in answer:
			if a in letters:
				answer_bag.remove(a)
				letters.remove(a)

		if(len(answer_bag)!=0):
			print("RIDDLE %d: Missing letters in answer: %s" % (id,answer_bag))
			fine=False

if(fine):
	print("Everything fine")