xxxxxxxxxx
import mccabe
def calculate_complexity(code):
try:
complexity = mccabe.McCabeChecker(threshold=5)
complexity.run_ast(mccabe.parsing.parse_string(code))
return complexity.complexity
except SyntaxError as e:
print(f"Syntax Error: {e}")
return -1
# Example usage
code = '''
def factorial(n):
if n <= 1:
return 1
else:
return n * factorial(n-1)
print(factorial(5))
'''
complexity_score = calculate_complexity(code)
print(f"Code complexity: {complexity_score}")