добавив два числа, которые находятся в переменных - PullRequest
0 голосов
/ 15 мая 2018

Я только начал работать с Python 3, и я использую командную оболочку.Почему есть исключение с кодом ниже?

 name = input("whats your name: ")
 age = input("what is your age: ")
 work = input("how long will you be working: ")
 print("Good luck " + name + " you will be " + int(age) + int(work) + " years old")

Python-отладчик выдает ошибку «должен быть str против int».

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

В идеале вы конвертируете str в int на int(age) и снова пытаетесь объединить строку с целым числом. По умолчанию input () получает данные в виде строки.

пожалуйста, избегайте использования int (). Также при необходимости проверьте тип (var) и попробуйте объединить.

0 голосов
/ 15 мая 2018

Проблема в string + integer не работает (по уважительной причине). Вместо этого нам нужно преобразовать обратно в строку в вашем методе.

Но не пишите такие строки. Как вы можете видеть, это довольно подвержено ошибкам. Вместо этого используйте форматирование строки

print("Good luck {} you will be {} years old".format(name, int(age) + int(work)))

или даже лучше в Python 3.6

print(f"Good luck {name} you will be {int(age) + int(work)} years old")
0 голосов
/ 15 мая 2018

Попробуйте это:

print("Good luck " + name + " you will be " + str(int(age)) + int(work)) + " years old")

Скорее всего, потому что вы объединяете строки и добавляете целые числа одновременно. Сложите их вместе, затем преобразуйте в строку и затем объедините.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...