Python Code Tool

# Python Code Analyzer Tool
# Enter your Python code below

def analyze_code(code):
    """Analyze Python code for complexity and style"""
    import ast
    from collections import defaultdict
    
    tree = ast.parse(code)
    stats = defaultdict(int)
    
    for node in ast.walk(tree):
        stats[type(node).__name__] += 1
    
    return dict(stats)

def main():
    sample_code = '''
def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n-1)
    '''
    
    results = analyze_code(sample_code)
    print("Code Analysis Results:")
    for k, v in results.items():
        print(f"{k}: {v}")

if __name__ == "__main__":
    main()

Output

$ python main.py
Code Analysis Results:
Module: 1
FunctionDef: 2
arguments: 2
If: 1
Compare: 1
Num: 2
Return: 2
BinOp: 1
Sub: 1
Call: 3
Name: 6
Load: 6
Str: 1
Expr: 1

Code Analysis

Complexity

2.4 -0.3 from avg

Style Score

87% +12% from avg

Issues

3 +1 from avg
Line 15: Unused variable 'v'
Line 5: Missing docstring