Not everything converts cleanly. Here's what works and what doesn't: Strings to numbers: Only if the string looks like a number. int("42") works. int("42.5") fails (use float() first). int("hello") fails.
Floats to ints: int(3.7) gives . It truncates (chops off decimals), it doesn't round. int(-3.7) gives .
Numbers to bools: Zero becomes False, everything else becomes True. bool(0) is False. bool(42) is True. bool(-1) is True. Strings to bools: Empty string is False, any other string is True. bool("") is False. bool("hello") is True.