Как исправить скрипт, чтобы заработал в 23 версии Cinema4D?
Нашел интересный скрипт, который воплощает алгоритм 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.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы исправить скрипт и заставить его работать в 23 версии Cinema4D, необходимо учитывать изменения и обновления, которые были внесены в данную версию программы. Возможно, некоторые функции или методы, которые использовались в предыдущих версиях, были изменены или удалены в новой версии.
В первую очередь, необходимо проверить документацию к новой версии Cinema4D и ознакомиться с изменениями, которые могут повлиять на ваш скрипт. Возможно, вам придется переписать некоторые части кода или использовать новые методы и функции.
Также, рекомендуется провести тестирование скрипта в новой версии Cinema4D, чтобы выявить возможные ошибки и проблемы. Может потребоваться внести дополнительные изменения в код, чтобы все работало корректно.
Приведу пример того, как можно использовать тег
для подсветки синтаксиса кода на PHP: <pre lang="php">
Таким образом, следует внимательно изучить изменения в новой версии Cinema4D, а также провести тщательное тестирование скрипта, чтобы убедиться, что он работает корректно в 23 версии программы. При необходимости вносите изменения в код, чтобы скрипт успешно выполнял свои функции.