Ошибка в вашем коде возникает из-за неверного синтаксиса строки, в которой используется оператор `+` для объединения строк и переменных. В Python вы можете комбинировать строки и переменные с помощью оператора `+`, но при этом нужно следить за тем, чтобы все части были строками.
В вашем коде строки, содержащие `'x1'` и `'x2'`, не могут быть просто так объединены с переменными `x1` и `x2`. Вам следует использовать правильный синтаксис для форматирования строки. Вот как можно исправить ваш код:
```python
import math # Не забудьте импортировать math
while True:
a = int(input("ax^2+bx+c=0 / a: "))
b = int(input("ax^2+bx+c=0 / b: "))
c = int(input("ax^2+bx+c=0 / c: "))
d = b ** 2 - 4 * a * c
if d > 0:
x1 = (-b + math.sqrt(d)) / (2 * a)
x2 = (-b - math.sqrt(d)) / (2 * a)
print('Корней: 2. \n x1 = {}'.format(x1)) # Используем форматирование строки
print('Корней: 2. \n x2 = {}'.format(x2))
elif d == 0:
x1 = -b / (2 * a)
print('Корней: 1 \n x = {}'.format(x1))
else:
print("Корней: 0")
```
Также обратите внимание на некоторые изменения:
1. Я добавил импорт для модуля `math`, чтобы использовать его функцию `sqrt()`.
2. Я заменил `if` на `elif` для проверки `d == 0`, чтобы избежать ненужного выполнения следующих условий, если одно из условий уже истинно.
3. Я использовал метод `format()` для объединения строк и переменных.
Теперь код должен работать без ошибок.