Просто поболтать
НП.
Делать было нечего, решил немножко расслабиться, накалякал на Python, точнее покапался в чужом коде, и исправил немного код Michael Hippke, мой изменёный код считывает не юлианский календарь а грегорианский, и этот код не является ботом, код строит график магнитуды звезды (насколько я понял AAVSO ищет макс. 200 записей на страницу), и сохраняет в файл в формате png, а так-же сохраняет дату и магнитуды в файл:
import requests
from bs4 import BeautifulSoup
import numpy as np
import matplotlib.pyplot as plt
def get_mags_from_AAVSO(url):
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
rows = soup.select('tbody tr')
dates = []
mags = []
for row in rows:
string = '' + row.text
string = string.split('\n')
try:
date = string[4]
mag = float(string[5])
if mag < 3:
dates.append(date)
mags.append(mag)
except:
pass
return np.array(dates), np.array(mags)
date, mags = get_mags_from_AAVSO('https://app.aavso.org/webobs/results/?star=Betelgeuse&num_results=200&obs_types=vis')
with open('result.npy', 'wb') as f:
np.save(f, zip(mags, date))
with open('result.txt', 'w') as f2:
f2.write('Magnitude Date')
for m, d in zip(mags, date):
f2.write(('{} {}\n').format(m, d))
plt.plot(mags)
plt.ylabel('Магнитуда')
plt.xlabel('Наблюдения')
plt.savefig('betelgeuse.png', dpi=300)
Результат
Хотя наверное надо было отображать среднее значение или максимальное значение магнитуды из n-наблюдателей в день. Хотя надо было гладкую линию рисовать, такие острые линии мне не нравятся https://stackoverflow.com/questions/5283649/plot-smooth-li...
Не знаю что и сказать, звезды и питон меня ну абсолютно не интересуют.
какая хорошая тема. и главное, для такого супер подходит.
Знакомый в Уни, начал подкидывать задачки. Возможно будет интересно и тем кто хочет научится программированию. Выкладывайте свои ответы - обсудим.
Вначале задача в том виде, как рассказали по телефону. Я ее протестировал на "кошках" - решают без каких либо проблем, в общем виде.
1. Есть террариум в котором нужно поддерживать постоянную заданную температуру, для этого есть функции "ВключитьНагрев", "ОтключитьНагрев".
Требуется вначале построить Flussdiagram, а потом уже прогу на питоне.
Для начала попробуйте просто описать алгоритм используя конструкции "Делай ..." и "Если ... То... Иначе..."
Специально написал немного меньше чем надо. Допишите сами чего еще не достаёт для постновки задачи.