Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. import re
  2. import sys
  3.  
  4. if len(sys.argv)!=2:
  5. print("Igrica je neuspesno pozvana")
  6. exit()
  7.  
  8. # "/home/jana/Documents/Fakultet/3. godina/Leksicka analiza/leksicka_kol_2017" ocekujemo da putanja bude ovog oblika, "" moraju ako postoje razmaci
  9. path = sys.argv[1]
  10.  
  11.  
  12. positive_tests = []
  13. positive_examples = []
  14. negative_tests = []
  15. negative_examples = []
  16.  
  17. n = 1
  18. while True:
  19. # ovo su imena (zajedno sa putanjama!) fajlova koje treba otvoriti ukoliko postoje
  20. # prvi put kada neki fajl ne postoji, hvatamo izuzetak i izlazimo iz petlje
  21. # sve vreme cuvamo u n koliko imamo fajlova, i nakon petlje n smanjimo za 1
  22. file1_name = path+"/positive_test_"+str(n)+".txt"
  23. file2_name = path+"/negative_test_"+str(n)+".txt"
  24. try:
  25. f = open(file1_name, "r")
  26. except IOError:
  27. break
  28. positive_tests.append(f.read())
  29. positive_tests[n-1] = re.sub("\n", " ", positive_tests[n-1])
  30. positive_tests[n-1] = re.sub(" +$", "", positive_tests[n-1])
  31. positive_examples.append(re.split(" ", positive_tests[n-1]))
  32. f.close()
  33. try:
  34. f = open(file2_name, "r")
  35. except IOError:
  36. break
  37. negative_tests.append(f.read())
  38. negative_tests[n-1] = re.sub("\n", " ",negative_tests[n-1])
  39. negative_tests[n-1] = re.sub(" +$", "",negative_tests[n-1])
  40. negative_examples.append(re.split(" ", negative_tests[n-1]))
  41. n += 1
  42. f.close()
  43.  
  44. n -= 1
  45.  
  46. def turn(i):
  47. points = 0
  48. mistakes = []
  49. print("Pozitivni test primeri su: ")
  50. print(positive_tests[i])
  51. print("Negativni test primeri su: ")
  52. print(negative_tests[i])
  53. regExp = raw_input("Vas odgovor je: ")
  54. for example in positive_examples[i]:
  55. if re.search(regExp, example)!=None:
  56. points += 10
  57.  
  58. for example in negative_examples[i]:
  59. if re.search(regExp, example)!=None:
  60. mistakes.append(re.search(regExp, example))
  61. points -= 10
  62.  
  63. points -= len(regExp)
  64. if len(mistakes)==0:
  65. print("Tacno!")
  66. else:
  67. print("Netacno. Vase greske su u primerima: ")
  68. for mistake in mistakes:
  69. print(mistake.group())
  70. print("Vas broj poena je "+str(points)+".")
  71. return points
  72.  
  73. result = 0
  74. for i in range(n):
  75. result += turn(i)
  76.  
  77. print("Ukupan broj poena je "+str(result))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement