![]() |
Need help converting string to int - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Need help converting string to int (/thread-34215.html) |
Need help converting string to int - dedesssse - Jul-07-2021 I'm trying to convert strings to numbers, to multiply both numbers, when i print it out.. It still warns me its 2 strings num = input("Enter a number to CUBE: ") def cube(): print(int(num * num * num)) cube() RE: Need help converting string to int - deanhystad - Jul-07-2021 int(num * num * num) does the operation inside the the parenthesis before converting to int. You can do this: print((int(num)**3) # or num = int(num) print(num * num * num) RE: Need help converting string to int - dedesssse - Jul-07-2021 (Jul-07-2021, 03:57 PM)deanhystad Wrote: int(num * num * num) does the operation inside the the parenthesis before converting to int. You can do this: Oh ok i understand. But 1 question. First try i did this i for example put 3 to cube, and it splitted them into 333333333 instead of 27, why? num = input("Enter a number to CUBE: ") result = int(num) def cube(): print(int(num * int(num) * int(num))) cube() RE: Need help converting string to int - snippsat - Jul-07-2021 You don't convert first num to integer in function.You convert with result ,but never use it.num = input("Enter a number to CUBE: ") result = int(num) def cube(): print(result * result * result) cube()But should not write as this function should take argument in like this,can also do convert on input() .Then it will be like this,now it clear that cube need a argument num in.def cube(num): print(num * num * num) if __name__ == '__main__': num = int(input("Enter a number to CUBE: ")) cube(num) RE: Need help converting string to int - deanhystad - Jul-07-2021 You can multiply a string by an int. This makes the string repeat. When you multiply '3'x3 you get '3''3''3' or '333'. If you multiply that by 3 again you get '333''333''333' or '333333333'. This happens in your code because of a misplaced parenthesis. print(int(num * int(num) * int(num))) # should be print(int(num) * int(num) * int(num))As has been mentioned, the time for the conversion is before you call the function. Not only does this make the function more useful, but you only need to perform the conversion once. RE: Need help converting string to int - dedesssse - Jul-07-2021 Why cant i don like this? int(num1) int(num2) print(num1 * num2) RE: Need help converting string to int - snippsat - Jul-07-2021 (Jul-07-2021, 07:59 PM)dedesssse Wrote: Why cant i don like this?Not storing the integer in a variables,so line 1,2 dos nothing. num1 = '5' num2 = '10' num1 = int(num1) num2 = int(num2) print(num1 * num2) Try to understand solution that's given.
RE: Need help converting string to int - deanhystad - Jul-07-2021 int(num) is a function that takes a string (num) and returns an integer. The function does not change the argument. For example: string = '5' num = int(string) print(string, type(string), num, type(num)) string is still a str after calling int(string). It is unchanged.This is really basic stuff. I think you would benefit from doing some online tutorials. After you learn more about functions the reason why int(num) does not convert num from a string to an int will be obvious. |