Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- import sys
- if len(sys.argv)!=2:
- print("Igrica je neuspesno pozvana")
- exit()
- # "/home/jana/Documents/Fakultet/3. godina/Leksicka analiza/leksicka_kol_2017" ocekujemo da putanja bude ovog oblika, "" moraju ako postoje razmaci
- path = sys.argv[1]
- positive_tests = []
- positive_examples = []
- negative_tests = []
- negative_examples = []
- n = 1
- while True:
- # ovo su imena (zajedno sa putanjama!) fajlova koje treba otvoriti ukoliko postoje
- # prvi put kada neki fajl ne postoji, hvatamo izuzetak i izlazimo iz petlje
- # sve vreme cuvamo u n koliko imamo fajlova, i nakon petlje n smanjimo za 1
- file1_name = path+"/positive_test_"+str(n)+".txt"
- file2_name = path+"/negative_test_"+str(n)+".txt"
- try:
- f = open(file1_name, "r")
- except IOError:
- break
- positive_tests.append(f.read())
- positive_tests[n-1] = re.sub("(\s|\n)+", " ", positive_tests[n-1])
- positive_examples.append(re.split(" ", positive_tests[n-1]))
- f.close()
- try:
- f = open(file2_name, "r")
- except IOError:
- break
- negative_tests.append(f.read())
- negative_tests[n-1] = re.sub("(\s|\n)+", " ",negative_tests[n-1])
- negative_examples.append(re.split(" |\n", negative_tests[n-1]))
- n += 1
- f.close()
- n -= 1
- def turn(i):
- points = 0
- mistakes = []
- print("Pozitivni test primeri su: ")
- print(positive_tests[i])
- print("Negativni test primeri su: ")
- print(negative_tests[i])
- regExp = raw_input("Vas odgovor je: ")
- for example in positive_examples[i]:
- if example == "":
- continue
- if re.search(regExp, example)!=None:
- points += 10
- else:
- mistakes.append(example)
- for example in negative_examples[i]:
- if re.search(regExp, example)!=None:
- mistakes.append(example)
- points -= 10
- points -= len(regExp)
- if len(mistakes)==0:
- print("Tacno!")
- else:
- print(len(mistakes))
- print("Netacno. Vase greske su u primerima: ")
- for mistake in mistakes:
- print(mistake+" ")
- print("Vas broj poena je "+str(points)+".")
- return points
- result = 0
- for i in range(n):
- result += turn(i)
- print("Ukupan broj poena je "+str(result))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement