Что исправит в коде, что бы в ответе было не только число, но и текст?
Лучше использовать, такой способ
print('Ваш вес должен составлять {} кг'.format(x))
на место {} встанет ваше X,
можно несколько, к этому придете чуть позже...name = 'Игорь'
weight = 90
print('Ваш вес {} должен составлять {} кг'.format(name, weight))
На выходе получим "Ваш вес Игорь состовляет 90 кг"
В Вашем коде немало ошибок:print('Ваш идеальный вес', 'x') выведет символ `x`, а не переменную xСтроки print('Ваш идеальный вес') + 'x' и print('Ваш вес должен составлять') + x ошибочны. print является встроенный функцией для печати на экран, и аргументы должны передаваться внутри скобок. И конечно, переменная x должна писаться без кавычекЕсть несколько не существенных ошибок по стилистике языка Python, которые не влияют на работу
Вот, как бы я написал то же:print('Ваш идеальный вес по формуле Брока')
while True:
    height = input('Ваш рост в сантиметрах: ')
    if height.isdecimal():
        height = int(height)
        break
    elif not height:
        return
    else:
        print('Введите рост в виде числа или нажмите Enter для выхода')
if height <= 165:
    weight = height - 100
    print('Ваш идеальный вес {} кг'.format(weight))
elif height <= 175:
    weight = height - 105
    print('Ваш идеальный вес {} кг'.format(weight))
elif height >= 176:
    weight = height - 110
    print('Ваш вес должен составлять {} кг'.format(weight))