Python Docstring 및 주석 생성

Python 함수의 docstring 및 주석을 생성합니다.

모델을 직접 쿼리하고 Cloud 콘솔에서 다른 매개변수 값을 사용하거나 Vertex AI API를 직접 호출하여 반환된 결과를 테스트할 수 있습니다.

자유 형식 프롬프트


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)

                

응답


```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)
```

              
모델: gemini-1.0-pro-001
강도: 0.2
최대 출력 토큰: 2048
최상위 K: 40
최상위 P: 0.95