GEIZ-2068 发表于 2022-4-2 21:01:52

python字符串课后作业压缩字符求助

请问大家小甲鱼的python字符串作业中关于压缩字符串的程序,我的程序是死循环,请问该怎么改善
s = input ('请输入待压缩字符串:')

num = len(s)
s_new = ''
i = 0

while i<num:#用于标记源字符串中的字符
    print('2')#检测是否陷入死循环
    count = 1
    h = i + 1
    for h in range(num-1):#用于比较相同字符个数
      if s == s:
            count += 1
            i = h + 1#将当前字符坐标赋值给外层循环i,下一次i将从当前字符开始
      else:
            break
    if count > 2:#不用压缩的时候执行一下语句
      s_new = s_new + 'scount'
    elif count == 1:
      s_new = s_new + 's'
    else:
      s_new = s_new + 's' + 's'

rate = (len(s_new)/len(s))
print("压缩后字符串:",s_new)
print("压缩率:",f"{rate:.2%}")

大马强 发表于 2022-4-2 21:37:17

你的问题是没有考虑到一个不可压缩的字符串的情况,你这循环根本跳不出
而且你后面判断 count是啥意思
    if count > 2:#不用压缩的时候执行一下语句
      s_new = s_new + 'scount'
    elif count == 1:
      s_new = s_new + 's'
    else:
      s_new = s_new + 's' + 's'

GEIZ-2068 发表于 2022-4-3 13:47:05

大马强 发表于 2022-4-2 21:37
你的问题是没有考虑到一个不可压缩的字符串的情况,你这循环根本跳不出
而且你后面判断 count是啥意思

count是我用来计数的,题目要求重复3次以上才压缩
页: [1]
查看完整版本: python字符串课后作业压缩字符求助