Complex Python Problems