commit c5bbb604b99e8017b2f8b971016331021c39acc1 Author: Alessia Date: Fri Jan 24 11:56:19 2025 +0100 first commit diff --git a/hate_letter_experiment.py b/hate_letter_experiment.py new file mode 100644 index 0000000..a5cd461 --- /dev/null +++ b/hate_letter_experiment.py @@ -0,0 +1,155 @@ +from sys import argv +from random import choice +import textwrap +from time import sleep + +first = ['Unloved', 'Unpopular', 'Cheap', 'Distant'] +second = ['burden', 'bad person', 'idiot'] +adjectives = [ + 'hateful', + 'ugly', + 'unloving', + 'hostile', + 'undesirable', + 'avid', + 'unenthusiastic', + 'unambitious', + 'stupid', + 'naive', + 'dull', + 'frivolous', + 'dear', + 'purposeless', + 'unseductive', + 'passionless', + 'slow', + 'unemotional', + 'impatient', + 'disenchanted', + 'coldhearted', + 'unattached', + 'lovesick', + 'hateful', + 'unloving', + 'unpeaceful', + 'unquiet', + 'violent', + 'immature', + 'unsatisfied', + 'absent', +] +nouns = [ + 'hate', + 'imperfection', + 'disloyalty', + 'dullness', + 'malfunction', + 'detach', + 'unattractiveness', + 'lateness', + 'dislike', + 'unspell', + 'disapproval', + 'aversion', + 'distaste', + 'rejection', + 'dissatisfaction', + 'infatuation', + 'malevolence', + 'despair', + 'pride', + 'ingratitude', + 'sadness', + 'bore', +] +adverbs = [ + 'cheapely', + 'anxiously', + 'unlovely', + 'avidly', + 'unplesantly', + 'discouragingly', + 'coldly', + 'uncuriously', + 'unkindly', + 'unpleasantly', + 'unemotionally', + 'fondly', + 'impatiently', + 'unattachedly', + 'hatefully', + 'unlovingly', + 'unseductively', + 'painfully', +] +verbs = [ + 'hates', + 'disrespects' + 'repels', + 'unspells', + 'neglets', + 'forgets', + 'dislikes', + 'untie from', + 'disapproves', + 'unlashes', + 'lusts after', + 'unwish for', + 'sighs for', + 'cries for', + 'laughs about', + 'loses', +] + +def maybe(words): + if choice([False, True]): + return ' ' + choice(words) + return '' + +def longer(): + return ( + ' My' + + maybe(adjectives) + + ' ' + + choice(nouns) + + maybe(adverbs) + + ' ' + + choice(verbs) + + ' your' + + maybe(adjectives) + + ' ' + + choice(nouns) + + '.' + ) + +def shorter(): + return ' ' + choice(adjectives) + ' ' + choice(nouns) + '.' + +def body(): + text = '' + you_are = False + for i in range(0, 5): + type = choice(['longer', 'shorter']) + if type == 'longer': + text = text + longer() + you_are = False + else: + if you_are: + text = text[:-1] + ': my' + shorter() + you_are = False + else: + text = text + ' You are my' + shorter() + you_are = True + return text + +def letter(): + text = choice(first) + ' ' + choice(second) + '\n\n' + \ + textwrap.fill(body(), 80) + '\n\n' + \ + ' Yours ' + choice(adverbs) + '\n\n' + \ + ' Alessia' + '\n' + return text.upper() if (len(argv) > 1 and argv[1] == '-c') else text + +print('') +while True: + print(letter()) + sleep(12.0) \ No newline at end of file