#!/usr/bin/env python3 # -------------------------------------------------------------------------- def signedSquare(val): """Returns the square of a number, but if the number was negative the returned value is also negative Input: val A number to be squared Return: the signed square of the number """ # Simple way of doing it - not very neat if(val < 0): sign = -1 else: sign = 1 # Let's try the 'Conditional expressions' approach instead # sign = -1 if val < 0 else 1 square = val * val return(sign * square) # -------------------------------------------------------------------------- # Test code if __name__ == "__main__": val = signedSquare(2) if(val != 4): print("signedSquare(2) failed") else: print("signedSquare(2) success") val = signedSquare(0) if(val != 0): print("signedSquare(0) failed") else: print("signedSquare(0) success") val = signedSquare(-2) if(val != -4): print("signedSquare(-2) failed") else: print("signedSquare(-2) success")