运行长度编码不工作

2024-09-30 22:19:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试创建一个程序,读取一个文本为“iinnpbutt”的文件,然后将其写入另一个文本为“i2nput2”的文件。这适用于我,但它只写“i2n2”。有人给我小费吗?我不能使用python中的库。你知道吗

import sys

def vraagactie():
    print "Wilt u een bestand coderen of decoderen? Voer de eerste letter van de gewenste actie in."
    actie = raw_input()
    if actie == "c" :
        return
    if actie == "d" :
        return
    while actie != "c" and actie!= "d":
        print "Voer opnieuw de gewenste actie in"
        actie = raw_input()
        if actie == "c" or actie == "d":
            return actie

def vraagnaam():
    print "Wat is de naam van het bestand?"
    bestand = raw_input()
    return bestand

def vraagdoelnaam():
    print "Hoe wilt u de doelfile noemen?"
    doelfile = raw_input()
    return doelfile

def bestandlezen(a,b):
    try:
        invoer = open(a, "r")
        uitvoer = open(b, "w")
        return invoer, uitvoer
    except IOError:
        print "bestand niet te openen"
        sys.exit(1)

def coderen(invoer, uitvoer):
    string = ""
    kar = invoer.read()
    tel = 1
    lengte = len(kar)
    while len(string) < lengte:
        string += kar
        if string[0] == string[1]:
            tel += 1
            string = string[1::]
        if  string[0] != string [1]:
            uitvoer.write(string[0]+str(tel))
            tel = 1
            string = string[1::]
    return

def main():
    vraagactie()
    a = vraagnaam()
    b = vraagdoelnaam()
    invoer, uitvoer = bestandlezen(a,b)
    print coderen(invoer, uitvoer)

if __name__ == '__main__':
    main()

Tags: inputstringrawreturnifdefdeprint