Avatar billede bipbipbip Nybegynder
25. juni 2007 - 06:27 Der er 5 kommentarer og
1 løsning

Tilfældig tekst generator

Aloha,

Findes der en online/freeware tekst generator, der kan generere mere eller mindre tilfældig dansk tekst?
Avatar billede bauerdata Nybegynder
25. juni 2007 - 11:41 #1
se her http://ellemose.dina.kvl.dk/cgi-bin/sestoft/forslag?
og her er en simpel version i python
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""USAGE: python.exec tekstgen.py [-s <size>] [ -l <linesize> ] [ -e <strg> ]
    size : max antal ord i uddata. Default = 300
    linezize : max linie længde. Default = 80
    eol : afslutning på linie. Default = "<br>\n"
"""

import random

def generer_tekst( size = 300, linesize = 80 , eol="<br>\n" ):
    """
    Returnerer en tilfældig tekst basseret på random opslag i filen word.txt
    max antal ord er defineret ved variablen size
    max linesize er defineret ved variablen linesize
    og linierne slutter med indholdet af variablen eol
    """

    fname = "word.txt"
    f = open( fname, "r" )
    words = f.read().strip().split(" ")

    line = ""
    ret = []
    for i in range( size ):
        ord = random.choice( words )
        if len( line ) + len ( ord ) > linesize:
            ret.append( line.strip() )
            line = ""
        line += ord + " "
    return eol.join( ret )   

if __name__ == "__main__":
    import sys, getopt
   
    try:
        options, arguments = getopt.getopt(sys.argv[1:], "s:l:e:")

    except getopt.GetoptError:
        sys.stderr.write( "Wrong arguments?\n")
        sys.stderr.write( Usage +"\n")
        sys.exit(1)

    size=300
    linesize=80
    eol="<br>\n"
    for option, argument in options:
        if option == "-s":
            size=argument
        elif option == "-l":
            linesize=argument
        elif option == "-e":
            eol=argument

    print generer_tekst( size=size, linesize=linesize, eol=eol )
Avatar billede bauerdata Nybegynder
25. juni 2007 - 11:42 #2
Ups forkert link, brug dette istedet.
http://www.matfys.kvl.dk/~sestoft/center.html
Avatar billede bipbipbip Nybegynder
26. juni 2007 - 02:08 #3
Lækkert tool :)

Findes programmet (eller et lignende) mon også i C#/VB.NET eller PHP? Mit Python er ikke eksisterende.
Avatar billede arne_v Ekspert
26. juni 2007 - 04:02 #4
Prøv:

using System;
using System.IO;
using System.Text;

namespace E
{
    public class MainClass
    {
        public static Random rng = new Random();
        public static string GenRanWords(string file, int words, int linlen)
        {
            StreamReader sr = new StreamReader(file);
            string content = sr.ReadToEnd();
            sr.Close();
            string[] wordarr = content.Split(" \r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            StringBuilder sb = new StringBuilder();
            int len = 0;
            for(int i = 0; i < words; i++)
            {
                string ranword = wordarr[rng.Next(wordarr.Length)];
                if(len + 1 + ranword.Length > linlen)
                {
                    sb.Append(Environment.NewLine);
                    sb.Append(ranword);
                    len = ranword.Length;
                }
                else
                {
                    if(sb.Length > 0)
                    {
                        sb.Append(" ");
                        len += 1;
                    }
                    sb.Append(ranword);
                    len += ranword.Length;
                }
            }
            return sb.ToString();
        }
        public static void Main(string[] args)
        {
            Console.WriteLine(GenRanWords(@"C:\word.txt", 100, 40));
            Console.ReadLine();
        }
    }
}
Avatar billede bauerdata Nybegynder
26. juni 2007 - 09:39 #5
Her kan du downloade programmet og der er instruktion til hvordan du installerer det :-)
http://www.dina.kvl.dk/~sestoft/mosml.html
Avatar billede bipbipbip Nybegynder
26. juni 2007 - 10:42 #6
Tak for C# koden arne_v, men bauerdata's program er langt overlegent.

Nu skal jeg bare stramme mig an og forsøge at oversætte det til en C# Windows app. :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester