Why this code isn't giving any error | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 3

Why this code isn't giving any error

I made this code today : def func(x,y) : print("Hello World") return(x+y) z = int(func(3,4)) print(z) As you can see I have made a function which prints a string and returns a value together. Now shouldn't it give an error when I used int function to turn it to an integer? But it isn't giving any error Please explain how is it happening https://code.sololearn.com/c2s54F05wP3o/?ref=app

13th May 2023, 1:49 PM
Arin
Arin - avatar
10 Answers
+ 5
Arin In the code you shared, the 'func' function prints the string "Hello World" and then returns the sum of the input values 'x' and 'y'. The returned value is assigned to the variable 'z'. You then attempt to convert 'z' to an integer using the 'int()' function. The reason you're not seeing an error is because the 'print()' statement inside the 'func' function doesn't affect the return value or the behavior of the 'int()' function. The 'print()' function simply displays the string "Hello World" on the console when the 'func' function is called, but it doesn't interfere with the return value. When you call 'int(func(3, 4))', the 'func' function is executed, "Hello World" is printed, and the sum of '3' and '4' (which is '7') is returned. Then, the 'int()' function is applied to '7', which doesn't cause any error because '7' is already an integer. In summary, the 'print()' statement inside the function doesn't affect the return value or the conversion to an integer. It only displays a message to the console
15th May 2023, 8:46 AM
Vibhor
Vibhor - avatar
+ 4
My AI said me that: The code you provided doesn't raise any errors because the string "Hello World" is printed before the return statement, and the return value of the function is the result of the addition operation (`x+y`), which is an integer. When you call `int(func(3,4))`, it executes the function `func(3,4)` which prints "Hello World" and returns the sum of 3 and 4, which is 7. The `int()` function is then applied to the return value of the function, converting it to an integer. Since the return value is already an integer, there is no error. The converted value, 7, is assigned to the variable `z`, and it is then printed. In Python, you can convert a numerical string representation to an integer using the `int()` function. If the string cannot be converted to an integer, a `ValueError` will be raised. However, in your code, there is no situation where the `int()` function encounters a string that cannot be converted to an integer, so no error is raised. In summary, the code executes without errors b
13th May 2023, 3:34 PM
Fꫀⲅძ᥆͟ᥙ᥉᯽
Fꫀⲅძ᥆͟ᥙ᥉᯽ - avatar
+ 2
It won't give error because print will simply print the statement you are reusing returned values not print statement value
13th May 2023, 1:53 PM
A S Raghuvanshi
A S Raghuvanshi - avatar
+ 2
When u call function first print will be executed it will print hello world then u returning value and it assigned to z then it will print the value of z
13th May 2023, 2:07 PM
A S Raghuvanshi
A S Raghuvanshi - avatar
+ 2
Fꫀⲅძ᥆͟ᥙ᥉᯽ ok thanks Can you pls tell me which AI did u use?
13th May 2023, 3:39 PM
Arin
Arin - avatar
+ 1
AS Raghuvanshi I see And just for clarification I want to ask one more question Does the print("Hello World") function execute while reading the variable z?
13th May 2023, 2:02 PM
Arin
Arin - avatar
+ 1
AS Raghuvanshi oh thanks Now i have understood the concept fully
13th May 2023, 2:09 PM
Arin
Arin - avatar
13th May 2023, 3:51 PM
Fꫀⲅძ᥆͟ᥙ᥉᯽
Fꫀⲅძ᥆͟ᥙ᥉᯽ - avatar
+ 1
Hola soy nuevo ayudaaaa
15th May 2023, 4:06 AM
0
Hi, check this: a = "test" print(a) print(str(a)) # no Error as well. So seems like turning to a string/integer smth that's a string/integer already is a bit excessive - at least here as well as in your example, but can imagine the situation it would be ok, e.g. when taking various user input.
15th May 2023, 12:06 PM
Alexandra Smirnova