проблема с выводом и сохранением значений в программе python

#python

#python

Вопрос:

Пытаюсь заставить код вывести один из этих ответов … если исходное значение дома равно 200 000, а внешнему виду присваивается значение «0», Дом теперь стоит 190 000 и т. Д…Я также хочу иметь возможность «сохранить» это новое значение home, поскольку они будут оценивать другие комнаты в этом виртуальном домашнем туре, чтобы в следующей комнате их оценка могла прибавлять / вычитать значение дома, которое они дали ему из предыдущей комнаты, и так далее.

 ans4=input("By the way, what value do you give to the exterior? 0,1,2,3?")
if ans4 in ['0']: 
    print("the house is now valued at "   ((number1)-10000))
if ans4 in ['1']:
    print("the house is now valued at "   ((number1)-0))
if ans4 in ['2']:
    print("the house is now valued at "   ((number1) 10000))
if ans4 in ['3']:
    print("the house is now valued at "   ((number1) 20000))
 

Ответ №1:

Прежде всего, у вас есть 3 открывающих «(» и два закрывающих «)» рядом с отпечатками. Это не будет компилироваться.

Другая ошибка заключается в том, что вы добавляете строку («дом теперь оценивается в») к целому числу (number1). Это недопустимо.

Я не уверен, правильно ли я понимаю ваш вопрос, но именно так я бы это сделал:

 ans4=input("By the way, what value do you give to the exterior? 0,1,2,3?")
if ans4 in ['0']: 
    new_value = number1 - 10000
if ans4 in ['1']:
    new_value = number1
if ans4 in ['2']:
    new_value = number1   10000
if ans4 in ['3']:
    new_value = number1   20000
print("the house is now valued at: ", new_value)
 

Если у вас python> = 3.6, вы можете использовать f-строки, чтобы упростить печать в смешанном формате:

 ans4=input("By the way, what value do you give to the exterior? 0,1,2,3?")
if ans4 in ['0']: 
    new_value = number1 - 10000
if ans4 in ['1']:
    new_value = number1
if ans4 in ['2']:
    new_value = number1   10000
if ans4 in ['3']:
    new_value = number1   20000
print(f"the house is now valued at: {new_value}")