Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

python: tæl bogstaver

Af Monsterbruger tvs1 | 05-12-2016 20:19 | 1853 visninger | 7 svar, hop til seneste
Hej HOL :) Har lavet et lille program der gerne skulle tælle bogstaverne i et dokument (tekst.txt). Problemet er at jeg kan se at de i længere tekster tæller vokalerne forkert. Jeg satte den til at analysere en tekst på ca. 500.000 tegn, og det ser ud som om der er den samme fejl % på alle vokalerne, den er meget lille. f.eks. tæller den e=97.030, men i virkeligheden er e=96987. Koden ser således ud: #-*- coding: utf-8 -*- from string import ascii_lowercase from collections import Counter import string chars = [] allowed = string.ascii_letters +"æ" "ø" "å" with open('/Users/[...]/tekst.txt') as f: letters = Counter(letter for line in f for letter in line.lower() if letter in allowed) with open('/Users/[...]/tekst.txt') as f: for c in f.read(): chars.append(c) num_letters = 0 for c in chars: if c in allowed: num_letters += 1 print "" print letters print "" print "Letter count: %d " %(num_letters) print "Remember to subtract the letter count with xc3" print "" print "xa5 = å" print "xa6 = æ" print "xa8 = ø"
--
Macbook Pro late 2011 Spiller CS:GO og Lol og elsker at rode med elektronik :P

--
Sidst redigeret 05-12-2016 20:20
#1
Tux
Guru
05-12-2016 20:21

Rapporter til Admin
Brug pastebin.com til din kode.
--
Don't feed the trolls.
#2
tvs1
Monsterbruger
05-12-2016 20:25

Rapporter til Admin
#1 her: http://pastebin.com[...]
--
Macbook Pro late 2011 Spiller CS:GO og Lol og elsker at rode med elektronik :P
#3
Tux
Guru
05-12-2016 20:27

Rapporter til Admin
Hvorfor åbner du filen 2 gange?
--
Don't feed the trolls.
#4
tvs1
Monsterbruger
05-12-2016 20:41

Rapporter til Admin
#3 kunne ikke få det til at virke med mindre jeg skilte de to funktioner ad.
--
Macbook Pro late 2011 Spiller CS:GO og Lol og elsker at rode med elektronik :P
#5
Chrelle1900
Monsterbruger
05-12-2016 21:25

Rapporter til Admin
Jeg har overhovedet ikke styr på det, men kunne det tænkes at den tæller æ som a og e? Du kan tjekke om det f.eks. tæller "i" forkert
--
#6
tvs1
Monsterbruger
05-12-2016 21:38

Rapporter til Admin
#5 det er et godt forslag, men den gør det med alle vokalerne (også f.eks. u). Desuden tæller den æ,ø og å som: xc3\xa5, xc3\xa6 og xc3\xb8 Så det må være noget andet :/
--
Macbook Pro late 2011 Spiller CS:GO og Lol og elsker at rode med elektronik :P
--
Sidst redigeret 05-12-2016 21:39
#7
lyngze
Elitebruger
05-12-2016 22:00

Rapporter til Admin
Er det måske fordi du kun bruger .lower på den første hvor du laver "letters" og ikke når du appender til chars? Du kan også måske overveje at bruge et dictionary istedet. Det kunne måske gøre det lidt nemmere. Noget i stil med dette http://pastebin.com[...] ?
--

Opret svar til indlægget: python: tæl bogstaver

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning


ANNONCE