Ошибка типа: объект 'str' не вызывается?

Я никогда раньше не программировал на Python, и я взял несколько примеров Интернета и немного их отредактировал, чтобы создать код, который находит простые числа. Однако даже после консультации с людьми, которые немного знают Python, я не могу понять, в чем проблема с этим кодом. Я всегда просто получаю ошибку:

TypeError: 'str' object is not callable

для этой строки:

      if (j > i/j) : print(i, " is prime")

Вот полный код программы.

i = 2
while(i < 100):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
      if (j > i/j) : print(i, " is prime")
   i = i + 1

1 ответ

В другом месте вашего кода или сеанса вы связываете строковый объект с именем print:

print = 'foo'

Сейчас print(...) пытается вызвать строку вместо встроенной функции.

В интерактивном сеансе удалите имя print:

del print

В сценарии убедитесь, что вы не маскируете имя print; выберите другое имя для этой переменной.

Другие вопросы по тегам