Advertisement
ollikolli

reseptihaku koodi

Mar 7th, 2023
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.14 KB | None | 0 0
  1. def hae_nimi(tiedosto: str, sana: str):
  2.     vastaus = []
  3.     if tiedosto == "reseptit1.txt":
  4.        
  5.         #tiedoston muokkaus listaksi
  6.         lista1 = []
  7.         with open("reseptit1.txt") as tiedosto:
  8.             for rivi in tiedosto:
  9.                 rivi = rivi.replace("\n", "")
  10.                 lista1.append(rivi)
  11.        
  12.         #nimien lisääminen listaan
  13.         nimet = []
  14.         nimet.append(lista1[0])
  15.         kerrat = 1
  16.         while kerrat < len(lista1):
  17.             if lista1[kerrat] == "":
  18.                 nimet.append(lista1[kerrat+1])
  19.             kerrat += 1
  20.  
  21.         #oikeiden nimien valitseminen
  22.         for alkio in nimet:
  23.             if sana.lower() in alkio.lower():
  24.                 vastaus.append(alkio)
  25.    
  26.     elif tiedosto == "reseptit2.txt":
  27.        
  28.         #tiedoston muokkaus listaksi
  29.         lista2 = []
  30.         with open("reseptit2.txt") as tiedosto:
  31.             for rivi in tiedosto:
  32.                 rivi = rivi.replace("\n", "")
  33.                 lista2.append(rivi)
  34.        
  35.         #nimien lisääminen listaan
  36.         nimet = []
  37.         nimet.append(lista2[0])
  38.         kerrat = 1
  39.         while kerrat < len(lista2):
  40.             if lista2[kerrat] == "":
  41.                 nimet.append(lista2[kerrat+1])
  42.             kerrat += 1
  43.  
  44.         #oikeiden nimien valitseminen
  45.         for alkio in nimet:
  46.             if sana.lower() in alkio.lower():
  47.                 vastaus.append(alkio)
  48.     return vastaus
  49.  
  50. def hae_aika(tiedosto: str, aika: int):
  51.     vastaus = []
  52.     if tiedosto == "reseptit1.txt":
  53.        
  54.         #tiedoston muokokaus listaksi
  55.         lista1 = []
  56.         with open("reseptit1.txt") as tiedosto:
  57.             for rivi in tiedosto:
  58.                 rivi = rivi.replace("\n", "")
  59.                 lista1.append(rivi)
  60.        
  61.         #nimien ja valmistusaikojen tekeminen listaksi
  62.         nimet_ja_aika = []
  63.         nimet_ja_aika.append((lista1[0], int(lista1[1])))
  64.         kerrat = 1
  65.         while kerrat < len(lista1):
  66.             if lista1[kerrat] == "":
  67.                 nimet_ja_aika.append((lista1[kerrat + 1], int(lista1[kerrat + 2])))
  68.             kerrat += 1
  69.        
  70.         #oikean valmistusajan valitseminen
  71.         for alkio in nimet_ja_aika:
  72.             if alkio[1] <= aika:
  73.                 vastaus.append(f"{alkio[0]}, valmistusaika {alkio[1]} min")
  74.  
  75.     elif tiedosto == "reseptit2.txt":
  76.         #tiedoston muokkaus listaksi
  77.         lista2 = []
  78.         with open("reseptit2.txt") as tiedosto:
  79.             for rivi in tiedosto:
  80.                 rivi = rivi.replace("\n", "")
  81.                 lista2.append(rivi)
  82.         #nimien ja valmistusaikojen tekeminen dicticsi
  83.         nimet_ja_aika = []
  84.         nimet_ja_aika.append((lista2[0], int(lista2[1])))
  85.         kerrat = 1
  86.         while kerrat < len(lista2):
  87.             if lista2[kerrat] == "":
  88.                 nimet_ja_aika.append((lista2[kerrat + 1], int(lista2[kerrat + 2])))
  89.             kerrat += 1
  90.        
  91.         #oikean valmistusajan valitseminen
  92.         for alkio in nimet_ja_aika:
  93.             if alkio[1] <= aika:
  94.                 vastaus.append(f"{alkio[0]}, valmistusaika {alkio[1]} min")
  95.     return vastaus
  96.  
  97. def hae_raakaaine(tiedosto: str, aine: str):
  98.     vastaus = []
  99.     if tiedosto == "reseptit1.txt":
  100.        
  101.         #tiedoston muokkaus listaksi
  102.         lista1 = []
  103.         with open("reseptit1.txt") as tiedosto:
  104.             for rivi in tiedosto:
  105.                 rivi = rivi.replace("\n", "")
  106.                 lista1.append(rivi)
  107.        
  108.         #nimien ja valmistusaikojen tekeminen tupleiksi, sekä aineiden lisäys
  109.         nimet_ja_aika = {}
  110.         nimet_ja_aika[lista1[0]] = [int(lista1[1])]
  111.         for alkio in lista1[2:]:
  112.             if alkio == "":
  113.                 break
  114.             else:
  115.                 nimet_ja_aika[lista1[0]].append(alkio)
  116.         kerrat = 1
  117.         kerrat_ = 3
  118.         while kerrat < len(lista1):
  119.             if lista1[kerrat] == "":
  120.                 nimet_ja_aika[lista1[kerrat + 1]] = [int(lista1[kerrat + 2])]
  121.                 while (kerrat + kerrat_) < len(lista1):
  122.                     if lista1[kerrat + kerrat_] == "":
  123.                         kerrat_ = 3
  124.                         break
  125.                     else:
  126.                         nimet_ja_aika[lista1[kerrat + 1]].append(lista1[kerrat + kerrat_])
  127.                         kerrat_ += 1
  128.             kerrat += 1
  129.        
  130.         #oikean valitseminen
  131.         for avain in nimet_ja_aika:
  132.             for alkio in nimet_ja_aika[avain]:
  133.                 if alkio == aine:
  134.                     vastaus.append(f"{avain}, valmistusaika {nimet_ja_aika[avain][0]} min")
  135.     elif tiedosto == "reseptit2.txt":
  136.        
  137.         #tiedoston muokkaus listaksi
  138.         lista2 = []
  139.         with open("reseptit2.txt") as tiedosto:
  140.             for rivi in tiedosto:
  141.                 rivi = rivi.replace("\n", "")
  142.                 lista2.append(rivi)
  143.        
  144.         #nimien ja valmistusaikojen tekeminen tupleiksi, sekä aineiden lisäys
  145.         nimet_ja_aika = {}
  146.         nimet_ja_aika[lista2[0]] = [int(lista2[1])]
  147.         for alkio in lista2[2:]:
  148.             if alkio == "":
  149.                 break
  150.             else:
  151.                 nimet_ja_aika[lista2[0]].append(alkio)
  152.         kerrat = 1
  153.         kerrat_ = 3
  154.         while kerrat < len(lista2):
  155.             if lista2[kerrat] == "":
  156.                 nimet_ja_aika[lista2[kerrat + 1]] = [int(lista2[kerrat + 2])]
  157.                 while (kerrat + kerrat_) < len(lista2):
  158.                     if lista2[kerrat + kerrat_] == "":
  159.                         kerrat_ = 3
  160.                         break
  161.                     else:
  162.                         nimet_ja_aika[lista2[kerrat + 1]].append(lista2[kerrat + kerrat_])
  163.                         kerrat_ += 1
  164.             kerrat += 1
  165.        
  166.         #oikean valitseminen
  167.         for avain in nimet_ja_aika:
  168.             for alkio in nimet_ja_aika[avain]:
  169.                 if alkio == aine:
  170.                     vastaus.append(f"{avain}, valmistusaika {nimet_ja_aika[avain][0]} min")
  171.    
  172.     return vastaus
  173.  
  174. if __name__ == "__main__":
  175.     löydetyt = hae_aika("reseptit1.txt", 20)
  176.  
  177.     for resepti in löydetyt:
  178.         print(resepti)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement