Это из класса:
Эта программа о прослушивании цветов. Мы будем рассматривать картинки как партитуры для фортепиано.
Напишите функцию под названием listenToPicture, которая принимает одно изображение в качестве аргумента. Сначала показывает картинку. Затем он будет проходить через каждый 4-й пиксель в каждой 4-й строке и делать следующее Он вычислит общее количество красного, зеленого и синего уровней пикселя, разделит его на 9, а затем прибавит результат к 24. Это число будет номером ноты, сыгранной playNote.
Это означает, что чем темнее пиксель, тем ниже нота; Чем светлее пиксель, тем выше нота. Эта нота будет воспроизводиться на полной громкости (127) в течение одной десятой секунды (100 миллисекунд). Каждый раз, когда он перемещается в новую строку, он печатает номер строки (значение y) на консоли.
Ваша основная функция попросит пользователя выбрать файл с картинкой. Будет напечатано количество проигрываемых нот (количество пикселей на картинке, деленное на 16; почему?). Затем он вызовет функцию listenToPicture.
Хорошо, я отредактировал то, что у меня есть, и единственное, что я не понял (я верю), это как напечатать количество заметок в основной функции. Кстати, спасибо всем, кто помог. Вы, ребята, потрясающие. Есть ли место для пожертвования на этот сайт?
def main():
pic=makePicture(pickAFile())
show (pic)
listenToPicture(pic)
def listenToPicture(pic):
w=getWidth(pic)
h=getHeight(pic)
for y in range(0,h,4):
printNow(str(y))
for x in range (0,w,4):
px=getPixel(pic,x,y)
r=getRed(px)
g=getGreen(px)
b=getBlue(px)
tot=((r+g+b)/9)+24
playNote(tot,100,127)