Genera Docstrings Python & Commenti

Generare docstring e commenti per le funzioni Python.

Puoi eseguire query direttamente su un modello e testare i risultati restituiti quando utilizzi i diversi valori dei parametri con la console Cloud o chiamando il metodo l'API Vertex AI in modo diretto.

Prompt in formato libero

Ecco il codice Python. Inserisci un commento al documento (docstring) per tutte le funzioni, incluse quelle nidificate.
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)

Risposta

    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. Keys are nodes, and values are lists of their neighbors.

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 Depth-First Search starting from a given node.

    Args:
        node (object): The node to start the DFS from.

    Returns:
        bool: True if no cycle is detected, 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)

Modello: gemini-1.5-flash-001
Temperatura: 1
Numero massimo di token di output: 8192
TopK: 40
TopP: 0,95