Милая8
21.01.2022 04:56

Python питон

добавим в класс note сравнение нот. сравнивать будем по высоте, без учёта длительности, причём будем считать большей ту ноту, чей тон выше (частота колебаний больше).

также добавим возможность транспонирования звука (переноса выше или ниже) с сдвигов > > вверх и < < вниз на гарантированно целое положительное значение. например, если «до» сдвинуть вправо на три тона ( > > 3), получится «фа». сдвиг должен работать циклически: если сдвинуть ту же «до» на тон вниз ( < < 1), должна получиться «си». а если сдвинуть «си» на один тон выше ( > > 1) — опять «до».

и ещё один новый метод — get_interval, позволяющий получить значение интервала между двумя нотами: «прима», «секунда», «терция», «кварта», «квинта», «секста» или «септима», где «прима» — интервал между двумя равными по тону нотами, а «септима» — максимальный доступный на нашем ксилофоне интервал — между «до» и «си».

в решении нужно объявить и можно использовать следующие константы (тестирующая система будет импортировать их из вашего кода):

n = 7

pitches = ["до", "ре", "ми", "фа", "соль", "ля", "си"]

long_pitches = ["до-о", "ре-э", "ми-и", "фа-а", "со-оль", "ля-а", "си-и"]

intervals = ["прима", "секунда", "терция", "кварта", "квинта", "секста", "септима"]

формат ввода

каждый тест представляет собой код, в котором будет использоваться ваш класс.

1 пример
ввод

from solution import (
note, n, pitches,
long_pitches, intervals
)
fa1 = note("фа", true)
fa2 = note("фа")
print(fa1 == fa2)
print(fa1 > fa2)
print(fa1 < fa2)
print(fa1 < = fa2)
la = note("ля", true)
print(fa1 < la)

вывод

true
false
false
true
true

2 пример
ввод

from solution import (
note, n, pitches,
long_pitches, intervals
)
fa2 = note("фа")
la = note("ля", true)
print(la > > 1)
print(la > > 2)
x = fa2 < < 4
print(x)

вывод

си-и
до-о
си

3 пример
ввод

from solution import (
note, n, pitches,
long_pitches, intervals
)
fa1 = note("фа", true)
fa2 = note("фа")
la = note("ля", true)
print(la.get_interval(fa1))
print(fa1.get_interval(fa2))
print(fa1.get_interval(note('си'

вывод

терция
прима
кварта

несмотря на то, что для правильной работы класса не обязательно реализовывать все шесть операций сравнения, рекомендуется всё же делать это (либо использовать functools.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Glazkovanuriya
27.01.2022 19:03
Using System;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Random r = new Random();
            int[] a = new int[50];
            int k = 0;
            for(int i = 0;i<50;i++)
            {
                a[i] = r.Next(1001);
                Console.WriteLine("a[" + i + "] =" + a[i]);
            }
            for (int i = 0; i < 49; i++)
            {
                if (a[i]+a[i+1] <= 217)
                {
                    k++;
                }
            }
                Console.WriteLine("Кол-во пар :" + k);
                Console.ReadKey();
        }
    }
}
0,0(0 оценок)
Ответ:
danilkarev201
22.06.2021 05:24
Подставим значения в условия и построим логическое выражение:
( 10 < 12 ) ∧ ( 12 < 30 ) ∧ ( 30 mod 12 = 0 )
Если условие выполняется, пишем 1(true), если нет - 0(false):
(1 ∧ 1 ∧ 0) = 0

Второй параметр BoolToStr, отвечает за то, в каком виде будет выведено значение логической переменной. Если второй параметр BoolToStr выбран как False, значит в Edit1.Text будет выведено его значение в численном виде, т.е. 0.
Если бы строка была записана как Edit1.Text := BoolToStr(A,True); то в Edit1.Text было бы выведено значение переменной A в текстовом виде, т.е. False.

Какое значение будет выведено в поле edit1? var x, y, z : integer; a : boolean; begin x : = 10; y :
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота