3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)
  • Q:
    Bijdrager
    Geitekaas

    Prog om text mee te shuffelen

    Ik zoek een programma dat van een stuk tekst de woorden door elkaar heen gooit (shuffelt).
    Voor Windows heb je Word shuffle… Bah, ik wil een MAC versie?

    Wie kan helpen?

    Voorbaat dank!

    Bijdrager
    Jakko Westerbeke

    Hier een Python-script dat doet wat je vraagt:
    [code:1:8f3b78396d]#! /usr/bin/python

    import random, sys

    if len(sys.argv) == 1:
    sys.exit("Gebruik: " + sys.argv[0] + " tekst om door elkaar te gooien")

    sys.argv.remove(sys.argv[0])
    tekstUit = ""

    while sys.argv:
    woordNummer = random.randint(0, len(sys.argv) – 1)
    tekstUit = tekstUit + " " + sys.argv[woordNummer]
    sys.argv.pop(woordNummer)

    print tekstUit.strip()[/code:1:8f3b78396d]
    Kopieer en plak dit in een leeg tekstbestand, sla het op je bureaublad op als (bijvoorbeeld) woorden.py en open dan de Terminal (in /Programma’s/Hulpprogramma’s). Typ het volgende in de Terminal, met een druk op Enter na elke regel:
    [code:1:8f3b78396d]cd Desktop
    chmod +x woorden.py[/code:1:8f3b78396d]
    Hiermee maak je het script uitvoerbaar. Om het te gebruiken typ je het volgende in:
    [code:1:8f3b78396d]./woorden.py tekst die ik door elkaar wil gooien[/code:1:8f3b78396d]
    ook weer gevolgd door een druk op Enter. Het resultaat is dan iets als dit:
    [code:1:8f3b78396d]Jakko:~/Desktop jakko$ ./woorden.py tekst die ik door elkaar wil gooien
    door tekst wil elkaar die gooien ik[/code:1:8f3b78396d]
    In plaats van de tekst in te typen kun je hem ook plakken achter ./woorden.py. Een klein probleempje is wel dat sommige tekens ervoor kunnen zorgen dat het script niet werkt — haakjes, aanhalingstekens, regeleindes, e.d. zullen voor moeilijkheden zorgen, bijvoorbeeld foutmeldingen. Wil je echter alleen korte, eenvoudige stukjes tekst door elkaar gooien, dan moet het met dit scriptje wel lukken, denk ik:)

    Bijdrager
    Geitekaas

    Ik ga het meteen proberen.
    Dank je wel!

3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.