Computer Science
Consider below given two sets of codes, which are nearly identical, along with their execution in Python shell. Notice that first code-fragment after taking input gives error, while second code-fragment does not produce error. Can you tell why ?
(a)
>>> print(num = float(input("value1:")) )
value1:67
TypeError: 'num' is an invalid keyword argument for this function
(b)
>>> print(float(input("valuel:")) )
value1:67
67.0
Answer
In part a, the value entered by the user is converted to a float type and passed to the print function by assigning it to a variable named num. It means that we are passing an argument named num to the print function. But print function doesn't accept any argument named num. Hence, we get this error telling us that num is an invalid argument for print function.
In part b, we are converting the value entered by the user to a float type and directly passing it to the print function. Hence, it works correctly and the value gets printed.
Related Questions
Predict the output
a, b, c = 2, 3, 4 a, b, c = a*a, a*b, a*c print(a, b, c)
The id( ) can be used to get the memory address of a variable. Consider the adjacent code and tell if the id( ) functions will return the same value or not(as the value to be printed via print() ) ? Why ?
[There are four print() function statements that are printing id of variable num in the code shown on the right.num = 13 print( id(num) ) num = num + 3 print( id(num) ) num = num - 3 print( id(num) ) num = "Hello" print( id(num) )
Predict the output of the following code :
days = int (input ("Input days : ")) * 3600 * 24 hours = int(input("Input hours: ")) * 3600 minutes = int(input("Input minutes: ")) * 60 seconds = int(input("Input seconds: ")) time = days + hours + minutes + seconds print("Total number of seconds", time)
If the input given is in this order : 1, 2, 3, 4
What will the following code result into ?
n1, n2 = 5, 7 n3 = n1 + n2 n4 = n4 + 2 print(n1, n2, n3, n4)