Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Challenge: Recursive File Search | Recursion and Lambda Functions
Python Functions Tutorial
course content

Kursinnehåll

Python Functions Tutorial

Python Functions Tutorial

1. What is a Function in Python?
2. Positional and Optional Arguments
3. Arbitrary Arguments
4. Function Return Value Specification
5. Recursion and Lambda Functions

book
Challenge: Recursive File Search

Uppgift

Swipe to start coding

Imagine needing to check whether a specific file exists within a nested dictionary structure representing a file system. Implement a function file_exists that recursively navigates through folders (dictionary objects) and searches for a file (represented by the string "file"). Return True if the file is found; otherwise, return False.

  1. Use a for loop to iterate through all elements of the file_system dictionary using the items() method. This retrieves the key (name) and the value (content).
  2. Check if content is a file (i.e., the string "file") and if name matches target (the name of the file being searched for).
  3. If both conditions are met, return True, indicating that the file has been found.
  4. If content is not a file, check whether it is a folder. Use the isinstance() function, passing content as the first argument and dict as the second (which checks if the element is a dictionary).
  5. If content is a folder, call file_exists recursively with the necessary parameters to continue searching inside it.
  6. If the recursive call returns True, the file has been found, so return True.
  7. If no matches are found after checking all folders and files, return False.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2
toggle bottom row

book
Challenge: Recursive File Search

Uppgift

Swipe to start coding

Imagine needing to check whether a specific file exists within a nested dictionary structure representing a file system. Implement a function file_exists that recursively navigates through folders (dictionary objects) and searches for a file (represented by the string "file"). Return True if the file is found; otherwise, return False.

  1. Use a for loop to iterate through all elements of the file_system dictionary using the items() method. This retrieves the key (name) and the value (content).
  2. Check if content is a file (i.e., the string "file") and if name matches target (the name of the file being searched for).
  3. If both conditions are met, return True, indicating that the file has been found.
  4. If content is not a file, check whether it is a folder. Use the isinstance() function, passing content as the first argument and dict as the second (which checks if the element is a dictionary).
  5. If content is a folder, call file_exists recursively with the necessary parameters to continue searching inside it.
  6. If the recursive call returns True, the file has been found, so return True.
  7. If no matches are found after checking all folders and files, return False.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt