integer = input("Number: ")
rslt = int(integer)+2
print('2 + ' + integer + ' = ' + rslt)
double = input("Point Number: ")
print('2.5 + ' +double+' = ' +(float(double)+2.5))
Gives me
Traceback (most recent call last):
File "C:\...", line 13, in
print('2 + ' + integer + ' = ' + rslt)
TypeError: Can't convert 'int' object to str implicitly
I'm fairly new to programming and my background is mostly just the basics of C# so far. I wanted to try to learn python through doing all my C# school projects on python. I'm used to the simple syntax of C# which would look something like this.
int integer = Convert.ToInt32(Console.ReadLine())
or
double double = Convert.ToDouble(Console.ReadLine())
Which takes a user input string and converts it to what i specified.
I think i read py2.x has a command called raw_input that works a bit better than the input command of py3.x in this regard.
I was trying to find myself a similar format as the one i'm used to in C# to use in python but it's proving surprisingly hard just to find a method to convert the user input string into an integer after all this googling and trying everything i could think of (and that i found on google) i decided it was time to ask. Can you help?
解决方案
You have to convert the integer into a string:
print('2 + ' + str(integer) + ' = ' + str(rslt))
Or pass it as an argument to print and print will do it for you:
print('2 +', integer, '=', rslt)
I would do it using string formatting:
print('2 + {} = {}'.format(integer, rslt))