Python 将字符串分隔为R和L字符数相等的平衡子字符串

Python 将字符串分隔为R和L字符数相等的平衡子字符串,python,python-3.x,algorithm,loops,Python,Python 3.x,Algorithm,Loops,作为家庭作业,我需要编写一个程序,不断提示用户输入平衡字符串,直到获得有效输入。在本程序中,平衡字符串定义为具有非零、相等数量的字符“R”(大写)和字符“L”(大写),而不管是否存在其他字符 然后,程序将平衡输入字符串分离/划分为尽可能多的平衡子字符串,并生成它们的列表 例如: 输入: 请输入一个包含相等数字或“R”和“L”的字符串:rlab 输出: ['RL','RL','RL','RL','RL','RLab'] 我对如何实现这段代码感到困惑。我知道如何找到输入中是否存在R或L,但仅此而

作为家庭作业,我需要编写一个程序,不断提示用户输入平衡字符串,直到获得有效输入。在本程序中,平衡字符串定义为具有非零、相等数量的字符“R”(大写)和字符“L”(大写),而不管是否存在其他字符

然后,程序将平衡输入字符串分离/划分为尽可能多的平衡子字符串,并生成它们的列表

例如:

输入:

请输入一个包含相等数字或“R”和“L”的字符串:rlab
输出:

['RL','RL','RL','RL','RL','RLab']

我对如何实现这段代码感到困惑。我知道如何找到输入中是否存在R或L,但仅此而已。我不需要全部代码,只需要一个起点。

这里是解决这个问题的算法的起点:

  • 维持一个用0初始化的变量
    余额
  • 创建一个空字符串
    temp
  • 迭代输入字符串中的每个字符:
    • 如果字符为
      R
      则将
      余额增加1
    • 如果字符为
      L
      则将
      余额减少1
    • 将字符附加到
      temp
    • 如果
      balance
      为0且
      temp
      包含任何
      L
      R
      字符,则将
      temp
      添加到结果列表中,并将其重置为空字符串
可能有一些情况需要调整或扩展此算法。例如,处理输入字符串末尾的剩余字符。

[“RL”+i代表s.split(“RL”)中的i]