Python

программирование для начинающих

что неправильно в этой команде, выдаёт ошибку
b = 100
m = input("Ведите сколько вам лет")
c = b - m
c = "вам осталось жить примерно: " + v
print(c)
b = 100
# в переменной b теперь лежит число 100

m = input("Ведите сколько вам лет")
# в переменной m теперь лежит строка, введенная пользователем. например, "2019"

c = b - m
# будет ошибка, пытаемся вычесть строку из числа
# правильнее v = b - int(m)

c = "вам осталось жить примерно: " + v
# будет ошибка, пытаемся прибавить к строке число
# правильнее c = "вам осталось жить примерно: " + str(v)

print(c)
Тимофей Терещенко
Тимофей Терещенко
64 215
Лучший ответ
Для начала почитайте про типы данных
Олег Демин
Олег Демин
77 531
1. m после ввода имеет строковой тип данных, потому что с клавиатуры всегда считывается строка. Нельзя из числа вычитать строку, ее нужно сначала привести к числовому типу. Например:
m = int(input("Ведите сколько вам лет"))
2. То же самое относится к конкатенации - нельзя складывать строку с числовым типом. Либо нужно привести его к строковому типу, либо нужно печатать результат не в виде одной переменной, а в виде аргументов функции print().
3. v не присвоено значение.
Ruslan N
Ruslan N
20 502
v не определена
print "вам осталось жить примерно" (c)
переменная "v" не задана
AK
Akram Khudonazarov
1 990
b = 100;
m = int(input("Введите сколько вам лет :")); #По умолчанию все что мы вводим, питоша считает строкой. тут мы сразу говорим "нам нужно целое число int"
c = b - m;
print(f"Вам осталось жить {c} лет"); #1 способ
print("Вам осталось жить {0} лет".format(c)); #2 способ
JB
Josif Bader
1 088