mirror of
https://github.com/DavidGailleton/42-Piscine_Python.git
synced 2026-03-13 20:56:54 +01:00
part 3 of module 06
This commit is contained in:
@@ -2,4 +2,4 @@ from .elements import create_fire, create_water
|
|||||||
|
|
||||||
__version__ = "1.0.0"
|
__version__ = "1.0.0"
|
||||||
__author__ = "Master Pythonicus"
|
__author__ = "Master Pythonicus"
|
||||||
__all__ = [create_fire(), create_water()]
|
__all__ = ["create_fire", "create_water"]
|
||||||
|
|||||||
11
06/alchemy/transmutation/__init__.py
Normal file
11
06/alchemy/transmutation/__init__.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
from .basic import lead_to_gold, stone_to_gem
|
||||||
|
from .advanced import philosophers_stone, elixir_of_life
|
||||||
|
|
||||||
|
__version__ = "1.0.0"
|
||||||
|
__author__ = "Master Pythonicus"
|
||||||
|
__all__ = [
|
||||||
|
"lead_to_gold",
|
||||||
|
"stone_to_gem",
|
||||||
|
"philosophers_stone",
|
||||||
|
"elixir_of_life",
|
||||||
|
]
|
||||||
11
06/alchemy/transmutation/advanced.py
Normal file
11
06/alchemy/transmutation/advanced.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
from .basic import lead_to_gold
|
||||||
|
from ..potions import healing_potion
|
||||||
|
|
||||||
|
|
||||||
|
def philosophers_stone() -> str:
|
||||||
|
return f"Philosopher’s stone created using {lead_to_gold()}\
|
||||||
|
and {healing_potion()}"
|
||||||
|
|
||||||
|
|
||||||
|
def elixir_of_life() -> str:
|
||||||
|
return f"Elixir of life: eternal youth achieved!"
|
||||||
9
06/alchemy/transmutation/basic.py
Normal file
9
06/alchemy/transmutation/basic.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
from alchemy.elements import create_fire, create_earth
|
||||||
|
|
||||||
|
|
||||||
|
def lead_to_gold() -> str:
|
||||||
|
return f"Lead transmuted to gold using {create_fire()}"
|
||||||
|
|
||||||
|
|
||||||
|
def stone_to_gem() -> str:
|
||||||
|
return f"Stone transmuted to gem using {create_earth()}"
|
||||||
48
06/ft_pathway_debate.py
Normal file
48
06/ft_pathway_debate.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
def absolute_import() -> None:
|
||||||
|
from alchemy.transmutation import lead_to_gold, stone_to_gem
|
||||||
|
|
||||||
|
print(f"lead_to_gold(): {lead_to_gold()}")
|
||||||
|
print(f"stone_to_gem(): {stone_to_gem()}")
|
||||||
|
|
||||||
|
|
||||||
|
def relative_import() -> None:
|
||||||
|
from alchemy.transmutation.advanced import (
|
||||||
|
philosophers_stone,
|
||||||
|
elixir_of_life,
|
||||||
|
)
|
||||||
|
|
||||||
|
print(f"philosophers_stone(): {philosophers_stone()}")
|
||||||
|
print(f"elixir_of_life(): {elixir_of_life()}")
|
||||||
|
|
||||||
|
|
||||||
|
def package_import() -> None:
|
||||||
|
import alchemy.transmutation
|
||||||
|
|
||||||
|
print(f"alchemy.transmutation.lead_to_gold():\
|
||||||
|
{alchemy.transmutation.lead_to_gold()}")
|
||||||
|
print(f"alchemy.transmutation.philosophers_stone():\
|
||||||
|
{alchemy.transmutation.philosophers_stone()}")
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
print("=== Pathway Debate Mastery ===\n")
|
||||||
|
print("Testing Absolute Imports (from basic.py):")
|
||||||
|
try:
|
||||||
|
absolute_import()
|
||||||
|
except Exception as err:
|
||||||
|
print(err)
|
||||||
|
print("\nTesting Relative Imports (from advanced.py):")
|
||||||
|
try:
|
||||||
|
relative_import()
|
||||||
|
except Exception as err:
|
||||||
|
print(err)
|
||||||
|
print("\nTesting Package Access:")
|
||||||
|
try:
|
||||||
|
package_import()
|
||||||
|
except Exception as err:
|
||||||
|
print(err)
|
||||||
|
print("\nBoth pathways work! Absolute: clear, Relative: concise")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user