Я хотел бы написать python код в блокноте jupyter, который
- запускается несколько раз (в течение для l oop)
- Отображение графика (например, график рассеяния, см. код ниже)
- Печать вопроса о графике. (например, хорошо ли выглядит этот график? да или нет?)
- Создает кнопки для ответа (на самом деле это не обязательно кнопки, подойдет любой тип ответа)
- Печать отзыва на основе ответ
- Сохраняет данные
На самом деле, это не обязательно должно быть в точности похоже на приведенный ниже код, поскольку я буду экспериментировать только на себе. Например, код может быть запущен в другом окне и т. Д. c. Я пробовал модуль expyriment
, но показывает картинки только из файлов, а не из matplotlib.
Любые решения из разных подходов также приветствуются.
import time
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import clear_output
data = []
x = np.arange(10)
for i in range(50):
# below four lines creates a scatterplot and avg is the average of y values
y = np.random.random(10)
plt.scatter(x,y)
plt.show()
print('Question: Is the average of y values >= .5?')
avg = np.average(y)
#### now I don't know how to do this part ####
createButtons('yes','no')
resp = getButtonResponse
#### #### #### #### #### #### #### #### ####
# create a to-be-displayed feedback based on response
if ((avg >= .5) & (resp == 'yes')) | ((avg < .5) & (resp == 'no')):
feedback = 'You are right.'
else:
feedback = 'You are wrong.'
# save the data, print the feedback and proceed with the next experiment
data.append([avg,resp])
print(feedback)
time.sleep(1)
clear_output(wait = True)