Ошибка синтаксиса: неверный синтаксис Ubuntu 18.04 - PullRequest
0 голосов
/ 04 сентября 2018

Я недавно начал использовать Linux (Ubuntu 18.04), и я пытаюсь запустить базовую анимацию в виде капли дождя, чтобы попытаться научиться создавать анимацию. Я нашел этот учебный код на сайте MatPlotLib,

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

np.random.seed(19680801)


fig = plt.figure(figsize=(7, 7))
ax = fig.add_axes([0, 0, 1, 1], frameon=False)
ax.set_xlim(0, 1), ax.set_xticks([])
ax.set_ylim(0, 1), ax.set_yticks([])

n_drops = 50
rain_drops = np.zeros(n_drops, dtype=[('position', float, 2),
                                      ('size',     float, 1),
                                      ('growth',   float, 1),
                                      ('color',    float, 4)])

rain_drops['position'] = np.random.uniform(0, 1, (n_drops, 2))
rain_drops['growth'] = np.random.uniform(50, 200, n_drops)

scat = ax.scatter(rain_drops['position'][:, 0], rain_drops['position'][:, 1],s=rain_drops['size'], lw=0.5,edgecolors=rain_drops['color'],
              facecolors='none')

def update(frame_number):
    current_index = frame_number % n_drops

    rain_drops['color'][:, 3] -= 1.0/len(rain_drops)
    rain_drops['color'][:, 3] = np.clip(rain_drops['color'][:, 3], 0, 1)

    rain_drops['size'] += rain_drops['growth']

    rain_drops['position'][current_index] = np.random.uniform(0, 1, 2)
    rain_drops['size'][current_index] = 5
    rain_drops['color'][current_index] = (0, 0, 0, 1)
    rain_drops['growth'][current_index] = np.random.uniform(50, 200)

    scat.set_edgecolors(rain_drops['color'])
    scat.set_sizes(rain_drops['size'])
    scat.set_offsets(rain_drops['position'])


animation = FuncAnimation(fig, update, interval=10)
plt.show()

Когда я пытаюсь запустить его в Ubuntu, я получаю SyntaxError: неверный синтаксис для строки 18

rain_drops['position'] = np.random.uniform(0, 1, (n_drops, 2))

но когда я запускаю его с Pycharm, он компилируется и работает правильно. Есть ли какой-то особенный способ запуска файлов python в Ubuntu? Я попытался использовать линию Шебанга, но это тоже не сработало.

1 Ответ

0 голосов
/ 04 сентября 2018

, когда я копирую этот код, я не получаю синтаксическую ошибку, поэтому я предполагаю, что строка с окном окончилась там. Вы можете попытаться исправить это с помощью dos2unix .

...