2013-04-17 4 views
2

Я просто попадал в программирование на Python. Я написал простую программу для вычисления суммы двух пользователем ввода чисел:Python - сумма программных ошибок двух чисел

a,b = input("enter first number"), input("enter second number") 
print("sum of given numbers is ", (a+b)) 

Теперь, если я ввожу число, как 23 и 52, что показало в выходе:

sum of given numbers is 23 52 

Что случилось с моим кодом?

+2

Сначала вам нужно преобразовать их в целые числа, а затем выполнить расчет. Сейчас их рассматривают как строки. http://docs.python.org/3.1/library/functions.html#input – bernie

+0

конвертировать строки в int сначала – imran

+0

Возможно, не лучшее использование распаковки, кстати. –

ответ

6

input() в Python 3 возвращает строку; вам необходимо преобразовать входные значения в целые числа с int(), прежде чем вы можете добавить их:.

a,b = int(input("enter first number")), int(input("enter second number")) 

(Вы можете обернуть это в try:/except ValueError: для более хорошей реакции, когда пользователь не вводит целое число

+0

Это тоже сработало, но я чувствую, что это немного сложно ... Но спасибо, что познакомил меня с этим методом ... :) <3 – R4M

4

вместо (a+b), используйте (int(a) + int(b))

+0

Спасибо! Это было проще, чем добавлять тип данных при инициализации себя (для меня) ... :) Спасибо за тысячу! <3 – R4M

+1

Мое удовольствие :) Это имеет дополнительное преимущество - сохранить исходные строки a и b без изменений, что может быть полезно позже в вашей программе. – mcvz

4

Я думаю, что будет лучше, если вы используете попробовать/за исключением блока, так как вы пытаетесь преобразовать строки в целые

try: 
    a,b = int(input("enter first number")), int(input("enter second number")) 
    print("sum of given numbers is ", (a+b)) 
except ValueError as err: 
    print("You did not enter numbers") 
Смежные вопросы