Skip to content

Instantly share code, notes, and snippets.

@lmaresz
Created February 6, 2016 23:14
Show Gist options
  • Save lmaresz/65af4989090d8e2457c9 to your computer and use it in GitHub Desktop.
Save lmaresz/65af4989090d8e2457c9 to your computer and use it in GitHub Desktop.
import re
class Msg():
def __init__(self, firstline, message):
self.day = firstline.split(" ")[0].strip()
self.ID = firstline.split(" ")[1].strip()
self.message = message
def getFoxNumbers(self):
result = re.search('^\d+\/\d+()+',self.message)
if result != None:
return map(int, result.group().split("/"))
else:
return False
def szame(szo):
valasz = True
for i in range (0,len(str(szo))):
if (str(szo[i])<"0") or (str(szo[i])>"9"): valasz = False
return valasz
file1 = open("veetel.txt","r")
file_list = file1.readlines()
file1.close()
messages = [Msg(file_list[x],file_list[x+1]) for x in range(0, len(file_list), 2)]
print("2. feladat: \n Az elso adat rogzitoje: %s. \n Az utolso adat rogzitoje: %s." % (messages[0].ID,messages[-1].ID))
fox = [[target.day, target.ID] for target in messages if re.match(".+farkas.+",target.message) != None]
print("3. feladat: \n" , ".ID rogzitette; ".join(".napon ".join([item[0], item[1]]) for item in fox), "rogzitette a 'farkas' szot.")
statistics = [str(len([item for item in messages if int(item.day) == x ])) for x in range(1,12)]
print("4. feladat:")
for i,day in enumerate(statistics): print (" A(z) %d napon %s adat erkezett" % (i+1, day))
file2 = open("adaas.txt","w")
for day in range(1,12):
daily = [message for message in messages if int(message.day) == day]
restored = list(daily[0].message)
for char in range(0,90):
restored[char] = [daily_message.message[char] for daily_message in daily if daily_message.message[char] != "#"][0]
print("".join(restored),file=file2)
file2.close()
u_day = input("7. feladat:\n Add meg a nap sorszamat: ")
u_ID = input(" Add meg a radioamator sorszamat: ")
u_message = [message for message in messages if (message.day == u_day) and (message.ID == u_ID)]
if len(u_message) != 0:
out = str(sum(u_message[0].getFoxNumbers())) if u_message[0].getFoxNumbers() != False else "Nincs informacio"
else:
out = "Nincs ilyen feljegyzes"
print(" Az eszlelt farkasok szama: %s" %(out))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment