User:Mxrwho/Lists

From XPUB & Lens-Based wiki
< User:Mxrwho
Revision as of 13:25, 19 April 2024 by Mxrwho (talk | contribs) (Created page with "== Playing with lists, sorting and randomization in python == === Documentation === https://pad.xpub.nl/p/15424_lists -> https://pad.xpub.nl/p/15424_lists_m export as plain text Python code: import random def sort_and_format_text(text): words = text.split() words = [word.strip('*') for word in words] sorted_words = sorted(words) formatted_lines = [] current_line = [] for word in sorted_words: current_line.append(word) if le...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Playing with lists, sorting and randomization in python

Documentation

https://pad.xpub.nl/p/15424_lists -> https://pad.xpub.nl/p/15424_lists_m

export as plain text

Python code:

import random

def sort_and_format_text(text):

   words = text.split()
   words = [word.strip('*') for word in words] 
   sorted_words = sorted(words)
   formatted_lines = []
   current_line = []
   for word in sorted_words:
       current_line.append(word)
       if len(current_line) >= 3 and len(current_line) <= 5:
           formatted_lines.append(' '.join(current_line))
           current_line = []
   if current_line:
       formatted_lines.append(' '.join(current_line))
   return '\n'.join(formatted_lines)

def randomize_and_format_text(text):

   words = text.split()
   words = [word.strip('*') for word in words] 
   random.shuffle(words)
   formatted_lines = []
   current_line = []
   for word in words:
       current_line.append(word)
       if len(current_line) >= 3 and len(current_line) <= 5:
           formatted_lines.append(' '.join(current_line))
           current_line = []
   if current_line:
       formatted_lines.append(' '.join(current_line))
   return '\n'.join(formatted_lines)


with open('lists.txt', 'r') as file:

   input_text = file.read()

print("Original text:", input_text)


sorted_text = sort_and_format_text(input_text) print("Sorted and formatted text (3 to 5 words per line):") print(sorted_text)


randomized_text = randomize_and_format_text(input_text) print("Randomized and formatted text (3 to 5 words per line):") print(randomized_text)

Combined texts and then:

say -o alllists.aiff -v Whisper -r 130 -f alllists.txt

and then:

ffmpeg -i alllists.aiff -codec:a libmp3lame -qscale:a 2 alllists.mp3