Générer des docstrings et des commentaires Python

Générer des docstrings et des commentaires pour les fonctions Python.

Vous pouvez interroger un modèle directement et tester les résultats renvoyés lors de l'utilisation de différentes valeurs de paramètre en utilisant la console Cloud ou en appelant directement l'API Vertex AI.

Invite forme libre


Here are Python codes. Insert the document comment (docstring) for all functions, including the nested functions.

def is_dag_dfs(graph):
    visited = set()
    on_stack = set()  # Track nodes on recursion stack

    def dfs(node):
        if node in on_stack:
            return False  # Back-edge found (cycle)
        if node in visited:
            return True

        on_stack.add(node)
        visited.add(node)

        for neighbor in graph.get(node, []):
            if not dfs(neighbor):
                return False

        on_stack.remove(node)
        return True

    return all(dfs(node) for node in graph)

                

Réponse


```python
def is_dag_dfs(graph):
"""
Determines if a directed graph is a Directed Acyclic Graph (DAG) using Depth-First Search (DFS).

Args:
graph (dict): A dictionary representing the graph, where keys are nodes and values are lists of adjacent nodes.

Returns:
bool: True if the graph is a DAG, False otherwise.
"""
visited = set()
on_stack = set() # Track nodes on recursion stack

def dfs(node):
"""
Performs DFS on the graph starting from the given node.

Args:
node: The node to start DFS from.

Returns:
bool: True if the graph is a DAG, False if a cycle is found.
"""
if node in on_stack:
return False # Back-edge found (cycle)
if node in visited:
return True

on_stack.add(node)
visited.add(node)

for neighbor in graph.get(node, []):
if not dfs(neighbor):
return False

on_stack.remove(node)
return True

return all(dfs(node) for node in graph)
```

              
Modèle : gemini-1.0-pro-001
Température : 0.2
Nombre maximal de jetons de sortie : 2 048
TopK : 40
TopP : 0,95