1
0
Fork 0
mirror of https://github.com/Findus23/nonsense.git synced 2024-09-19 16:03:50 +02:00
nonsense/generate.py

44 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python3
import yaml
import random
with open('words.yaml') as data_file:
data = yaml.safe_load(data_file)
def get_noun():
noun = random.choice(data["nouns"])
if random.random() <= 0.1:
noun += random.choice(data["suffix"])
if random.random() <= 0.1:
noun = random.choice(data["prefix"]) + noun
return noun
def get_description():
description = get_noun()
mit = False
num_extras = round(abs(random.normalvariate(2.0, 2.0)))
for i in range(0, num_extras):
rand = random.random()
if rand <= 0.35:
if mit:
extra = "und " + get_noun()
else:
extra = "mit " + get_noun()
mit = True
elif 0.35 <= rand <= 0.50:
extra = "für " + get_noun()
elif rand >= 0.90:
extra = random.choice(data["digit"])
mit = False
else:
extra = random.choice(data["adj"])
mit = False
description += " " + extra
return description
if __name__ == "__main__":
for _ in range(10):
print(get_description())