Home > Mobile >  How to conver raw_input() from a text using int() in python
How to conver raw_input() from a text using int() in python

Time:08-16

i am learning to code in python. I am learning how to use numbers as string data from raw_input and convert these numbers to integers then use them to do number manipulations such as multiplications. Below my code is the error i am getting. Any light on this will be very welcomed. Thanks

python

num = raw_input("what is your favourite number?")
num= int(num) #convert num from text into a number using int() and double it.
print("Double my favourite number is ")  (num*2)

python This is the error i am getting

python

TypeError: cannot concatenate 'str' and 'int' objects on line 3 in main.py

python

CodePudding user response:

You can print using , instead of to append values, also consider using f-string:

print("Double my favourite number is ", num*2)

Or:

print(f"Double my favourite number is {num*2}")

CodePudding user response:

You're doing fine converting user input from a str to an int

Your only problem is that you're trying to add an int to the return value of print():

print("Double my favourite number is ")  (num*2)

# is the same as:
print("Double my favourite number is ")
None   (num * 2)  # because print() will return None

To solve this, a few options:

Fix the parenthesis for print to completely surround the str and the int and convert the int back into a str before "adding" (concatenating) to the str:

print("Double my favourite number is "   str(num * 2))

You can also use interpolation via f-strings for the same/similar purpose, which will automatically call str() on interpolated values (the num * 2).

print(f"Double my favourite number is {num * 2}")
  • Related