Come progettare un filesystem in Python

| |

Supponiamo di voler progettare un filesystem che fornisca queste due funzioni:

Formato del percorso &una o più stringhe concatenate nella forma &(barra) / seguita da una o più lettere inglesi minuscole. Ad esempio, / programmazione e / programmazione / problemi sono percorsi validi, mentre stringhe vuote e / non lo sono. Dobbiamo implementare queste due funzioni qui.



Quindi come Input, se creiamo un file system, allora creiamo il percorso usando [" / a & # 8217 ;, 1], quindi dopo aver utilizzato get() con il parametro [" / a "] l’output sarà 1.



Per risolvere questo problema, ti preghiamo di seguire questi passaggi &

  • Definisci una mappa d
  • Il metodo createPath prenderà un percorso e un valore, questo agirà come &
  • < li> p: = elenco di componenti del percorso, separati da " / "
  • x: = d
  • per i nell’intervallo da 1 a lunghezza p &1
    • se p [i] non è in x, restituisce false
    • x: = x [p [i]] [1]
  • se l’ultimo elemento p è in x, restituisce false
  • x [ultimo elemento p]: = una lista con v e una carta vuota
  • restituisce vero
  • Il metodo get() accetta un percorso
  • x: = d
  • p: = un elenco di componenti del percorso, separati da " / "
  • per i varia da 1 a lunghezza p &1
    • se p [i] non è in x, restituisce -1
    • x: = x [p [i]] [1 ]
  • se l’ultimo elemento p è in x, restituisce x [ultimo elemento p] [0], altrimenti restituisce -1

Esempio

 class FileSystem (oggetto): def __init __ (self): self.d = {} def create (self, p, v): "" " : digita percorso: str : t ype valore: int : rtype: bool "" " p = p.split (" / " ) #print (p) x = self.d for i in range (1, len (p) -1) : if p [i] not in x: return False x = x [p [i]] [1] if p [-1] in x: return False x [p [-1]] = [v, {}] #print (x) return True def get (self, p): "" " : digita percorso: str : rtype : int " "" x = self.dp = p.split ("/") for i in range ( 1, len (p) -1): se p [i] non in x: return -1 x = x [ p [i]] [1] se p [-1] in x: return x [p [-1 ]] [0] else: return -1 

Login

 ["FileSystem", "createPath", "get "] [[], [" / a ", 1], [" / a "]] 

Output

 [null, true, 1] 



Come progettare un filesystem in Python _files: Questions

Come progettare un filesystem in Python Python functions: Questions

Shop

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method