Как исправить скрипт, чтобы заработал в 23 версии Cinema4D?

Ссылка скопирована
1 ответ

Нашел интересный скрипт, который воплощает алгоритм Game of Life в трехмерном варианте. Полный код скрипта есть в
ссылке
Game of Life

но в моей версии Cinema4d R23 он не работает. В консоли выдает такую ошибку:

Traceback (most recent call last):   File "Python", line 136, in main   File "Python", line 120, in update   File "Python", line 99, in get_next_generation   File "Python", line 24, in for_each   File "Python", line 93, in update_cell   File "Python", line 70, in get_cells_count_around NameError: name 'xrange' is not defined

Traceback (most recent call last): File "Python", line 136, in main File "Python", line 120, in update File "Python", line 99, in get_next_generation File "Python", line 24, in for_each File "Python", line 93, in update_cell File "Python", line 70, in get_cells_count_around NameError: name 'xrange' is not defined

Как можно исправить это?

Дополнительно:

В шести местах замените xrange на range. Эту строку замените:

if self.cells.has_key(i) and self.cells[i].has_key(j) and self.cells[i][j].has_key(k):

if self.cells.has_key(i) and self.cells[i].has_key(j) and self.cells[i][j].has_key(k):

на эту:

if i in self.cells and j in self.cells[i] and k in self.cells[i][j]:

if i in self.cells and j in self.cells[i] and k in self.cells[i][j]:

и должно заработать. Еще в старых скриптах часто бывает print без скобок, но тут вроде бы нету.

  • Благодарю, а то я в питоне пока не силен.

Ответы:

xrange это из python2, так что надо в нем запускать, но сейчас это уже старье

  • так это понятно, а вот как исправить под новую версию?
  • Андрей Воронцов, переписать код под python3, можно руками, можно стандартным скриптом 2to3, но никто не отменял того, что за это время могли измениться интерфейсы и сигнатуры в самой библиотеке для Cinema4D.
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Андрей PHP Ответ

Для того чтобы исправить скрипт и заставить его работать в 23 версии Cinema4D, необходимо учитывать изменения и обновления, которые были внесены в данную версию программы. Возможно, некоторые функции или методы, которые использовались в предыдущих версиях, были изменены или удалены в новой версии.

В первую очередь, необходимо проверить документацию к новой версии Cinema4D и ознакомиться с изменениями, которые могут повлиять на ваш скрипт. Возможно, вам придется переписать некоторые части кода или использовать новые методы и функции.

Также, рекомендуется провести тестирование скрипта в новой версии Cinema4D, чтобы выявить возможные ошибки и проблемы. Может потребоваться внести дополнительные изменения в код, чтобы все работало корректно.

Приведу пример того, как можно использовать тег

 для подсветки синтаксиса кода на PHP:
 
<pre lang="php">

для подсветки синтаксиса кода на PHP: <pre lang="php">

Таким образом, следует внимательно изучить изменения в новой версии Cinema4D, а также провести тщательное тестирование скрипта, чтобы убедиться, что он работает корректно в 23 версии программы. При необходимости вносите изменения в код, чтобы скрипт успешно выполнял свои функции.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно