📜  给定琴弦中反双音子弦的计数(1)

📅  最后修改于: 2023-12-03 14:56:54.845000             🧑  作者: Mango

给定琴弦中反双音子弦的计数

本程序用于计算给定琴弦中反双音子弦的数量。反双音子弦是指在同一弦中同时按下两个相邻的音符,使得其中一个发出的是另一个的半音或全音变化。例如,在第五弦上同时按下第二格和第三格,就会产生一个反双音子弦。

输入

输入为一个只包含数字的字符串,代表着琴弦上的按弦位置。例如,字符串 "345320" 代表在第一弦到第六弦上,按下了第三格、第四格、第五格、第三格、第二格和第一格。

输出

输出为一个整数,表示给定琴弦中反双音子弦的数量。

使用方法
from typing import List

def count_reverse_pairs(chord: str) -> int:
    """
    统计给定琴弦中反双音子弦的数量
    :param chord: 琴弦上的按弦位置,形如"345320"
    :return: 反双音子弦的数量
    """
    count = 0
    for i in range(len(chord) - 1):
        if abs(int(chord[i + 1]) - int(chord[i])) == 1:
            count += 1
    return count
示例
输入
chord = "344575543"
输出
3
说明

在这个琴弦上,有三个反双音子弦,分别是在第一弦上按下第三格和第四格,第二弦上按下第六格和第七格,第五弦上按下第四格和第五格。