Python-Docstrings und Kommentare generieren

Generieren Sie Docstrings und Kommentare für Python-Funktionen.

Sie können ein Modell direkt abfragen und die zurückgegebenen Ergebnisse testen, wenn Sie verschiedene Parameterwerte mit der Cloud Console oder durch direkten Aufruf der Vertex AI API verwenden.

Freiform-Prompt

Hier sind Python-Codes. Fügen Sie den Dokumentkommentar (Docstring) für alle Funktionen ein, einschließlich der verschachtelten Funktionen.

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)

Antwort


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


Args:
graph: A dictionary representing the graph, where keys are nodes and values are lists of their respective neighbor nodes.

Returns:
True if the graph is a DAG, False otherwise.
"""

visited = set()
on_stack = set() # Track nodes on recursion stack

def dfs(node):
"""
Performs Depth-First Search starting from a given node to detect cycles.

Args:
node: The node to start the search from.

Returns:
True if no cycles are detected from this node, False otherwise.
"""
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)

Modell: gemini-1.5-pro-preview-0409
Temperatur: 1
Max. Ausgabetokens: 8.192
TopK: 40
TopP: 0,95