| import streamlit as st |
| import pandas as pd |
| from py_thesaurus import Thesaurus |
| import random |
| import os.path |
|
|
| def generate_sentence(): |
| words = ["apple", "banana", "grape", "orange", "watermelon", "pineapple", "cherry", "strawberry", "blueberry", "mango"] |
| random_words = random.sample(words, 3) |
| question = f"What did the {random_words[0]} say to the {random_words[1]}?" |
| answer = f"The {random_words[0]} said, 'Let's hang out with the {random_words[2]}!'" |
| context = f"In the context of a fruit gathering, the {random_words[0]}, {random_words[1]}, and {random_words[2]} were having fun." |
| return f"{question} {answer} {context}" |
|
|
| def replace_with_synonym(sentence): |
| words = sentence.split() |
| index = random.randint(0, len(words) - 1) |
| word = words[index] |
| synonyms = Thesaurus(word).get_synonym() |
| if synonyms: |
| replacement = random.choice(synonyms) |
| words[index] = replacement |
| return ' '.join(words) |
|
|
| def load_or_create_scoreboard(filename): |
| if os.path.isfile(filename): |
| return pd.read_csv(filename) |
| else: |
| scoreboard = pd.DataFrame({'Upvotes': [0], 'Downvotes': [0]}) |
| scoreboard.to_csv(filename, index=False) |
| return scoreboard |
|
|
| def update_scoreboard(scoreboard, thumbs_up, thumbs_down): |
| if thumbs_up: |
| scoreboard.loc[0, 'Upvotes'] += 1 |
| elif thumbs_down: |
| scoreboard.loc[0, 'Downvotes'] += 1 |
| return scoreboard |
|
|
| def main(): |
| filename = 'output.csv' |
| scoreboard = load_or_create_scoreboard(filename) |
| st.title('Joke Parts Voting Game') |
| thumbs_up = st.button('π') |
| thumbs_down = st.button('π') |
| scoreboard = update_scoreboard(scoreboard, thumbs_up, thumbs_down) |
| scoreboard.to_csv(filename, index=False) |
| col1, col2 = st.columns(2) |
| with col1: |
| st.write(f'π {scoreboard.loc[0, "Upvotes"]}') |
| with col2: |
| st.write(f'π {scoreboard.loc[0, "Downvotes"]}') |
| original_text = generate_sentence() |
| modified_text = replace_with_synonym(original_text) |
| st.write(f'π€£ {modified_text}') |
|
|
| if __name__ == "__main__": |
| main() |
|
|