Spaces:
Runtime error
Runtime error
# Code Destiny and Density is equal to one hundred. | |
#st.Markdown("TODO: A code density slider bar shows and adjusts the size of lines. ') | |
#st.Markdown('Any ๐ฒDice๐ฒ way to compress the lines yet make it readable as optimal list of sets will do. Match language from good math books.') | |
import os | |
import streamlit as st | |
import numpy as np | |
import pandas as pd | |
import plotly.express as px | |
st.set_page_config(layout='wide') | |
st.title('Any ๐ฒDice๐ฒ Way - STEM Math and Data Science Numerical Potluck') | |
dice_types = [{'name': 'Six-sided Dice', 'sides': 6, 'emoji': '๐ฒ'}, | |
{'name': 'Twenty-sided Dice', 'sides': 20, 'emoji': '๐ฟ'}, | |
{'name': 'Thirty-sided Dice', 'sides': 30, 'emoji': '๐ฅ'}, | |
{'name': 'One Hundred-sided Dice', 'sides': 100, 'emoji': '๐'}] | |
if 'username' not in st.session_state: | |
st.session_state.username = '' | |
if 'dice_roll_history' not in st.session_state: | |
st.session_state.dice_roll_history = pd.DataFrame() | |
dice_type = st.selectbox('Choose a type of dice', dice_types, format_func=lambda d: f"{d['name']} {d['emoji']}") | |
num_rolls = st.slider('How many times do you want to roll the dice?', 1, 1000000, 1000) | |
rolls = np.random.randint(1, dice_type['sides'] + 1, num_rolls, dtype=np.uint64) | |
roll_counts = pd.Series(rolls).value_counts().sort_index() | |
fig = px.sunburst(names=[f'Roll {i}' for i in roll_counts.index], | |
parents=['Dice Rolls'] * dice_type['sides'], | |
values=roll_counts.values, | |
color=[f'Roll {i}' for i in roll_counts.index], | |
color_discrete_sequence=px.colors.qualitative.Dark24, | |
maxdepth=2) | |
fig.update_layout(title='Dice Roll Distribution', margin=dict(l=20, r=20, t=40, b=20), width=800, height=600) | |
show_labels = st.checkbox('Show Labels', value=True) | |
if not show_labels: | |
fig.update_traces(textinfo='none') | |
fig.show() | |
bonus_match = False | |
for dice in dice_types: | |
if rolls[0] == dice['sides']: | |
bonus_match = True | |
bonus_dice_type = dice['name'] | |
bonus_dice_emoji = dice['emoji'] | |
break | |
dice_roll_history = st.session_state.dice_roll_history | |
new_roll_data = pd.DataFrame({'Roll': rolls, | |
'Count': np.ones(num_rolls, dtype=np.uint64), | |
'DiceNumberOfSides': [dice_type['sides']] * num_rolls, | |
'Username': [st.session_state.username] * num_rolls}) | |
if bonus_match: | |
new_roll_data['BonusMatchToDiceName'] = [bonus_dice_type] * num_rolls | |
new_roll_data['BonusMatchToDiceEmoji'] = [bonus_dice_emoji] * num_rolls | |
dice_roll_history = dice_roll_history.append(new_roll_data, ignore_index=True) | |
st.session_state.dice_roll_history = dice_roll_history | |
include_name_column = st.checkbox('Include Username Column in Downloaded CSV', value=True) | |
if st.button('Download Results'): | |
if include_name_column: | |
filename = f'dice_roll_history_{st.session_state.username}{dice_type["emoji"]}.csv' | |
else: | |
dice_roll_history = dice_roll_history.drop(columns=['Username']) | |
filename = f'dice_roll_history{dice_type["emoji"]}.csv' | |
st.download_button(label='Download CSV', data=dice_roll_history.to_csv(index=False), file_name=filename, mime | |
st.write(""" | |
๐ Bread | |
๐ฅ Croissant | |
๐ฅ Baguette Bread | |
๐ซ Flatbread | |
๐ฅจ Pretzel | |
๐ฅฏ Bagel | |
๐ฅ Pancakes | |
๐ง Waffle | |
๐ง Cheese Wedge | |
๐ Meat on Bone | |
๐ Poultry Leg | |
๐ฅฉ Cut of Meat | |
๐ฅ Bacon | |
๐ Hamburger | |
๐ French Fries | |
๐ Pizza | |
๐ญ Hot Dog | |
๐ฅช Sandwich | |
๐ฎ Taco | |
๐ฏ Burrito | |
๐ซ Tamale | |
๐ฅ Stuffed Flatbread | |
๐ง Falafel | |
๐ฅ Egg | |
๐ณ Cooking | |
๐ฅ Shallow Pan of Food | |
๐ฒ Pot of Food | |
๐ซ Fondue | |
๐ฅฃ Bowl with Spoon | |
๐ฅ Green Salad | |
๐ฟ Popcorn | |
๐ง Butter | |
๐ง Salt | |
๐ฅซ Canned Food | |
๐ฑ Bento Box | |
๐ Rice Cracker | |
๐ Rice Ball | |
๐ Cooked Rice | |
๐ Curry Rice | |
๐ Steaming Bowl | |
๐ Spaghetti | |
๐ Roasted Sweet Potato | |
๐ข Oden | |
๐ฃ Sushi | |
๐ค Fried Shrimp | |
๐ฅ Fish Cake with Swirl | |
๐ฅฎ Moon Cake | |
๐ก Dango | |
๐ฅ Dumpling | |
๐ฅ Fortune Cookie | |
๐ฅก Takeout Box | |
๐ฆช Oyster | |
๐ฆ Soft Ice Cream | |
๐ง Shaved Ice | |
๐จ Ice Cream | |
๐ฉ Doughnut | |
๐ช Cookie | |
๐ Birthday Cake | |
๐ฐ Shortcake | |
๐ง Cupcake | |
๐ฅง Pie | |
๐ซ Chocolate Bar | |
๐ฌ Candy | |
๐ญ Lollipop | |
๐ฎ Custard | |
๐ฏ Honey Pot | |
๐ผ Baby Bottle | |
๐ฅ Glass of Milk | |
โ Hot Beverage | |
๐ซ Teapot | |
๐ต Teacup Without Handle | |
๐ถ Sake | |
๐พ Bottle with Popping Cork | |
๐ท Wine Glass | |
๐ธ Cocktail Glass | |
๐น Tropical Drink | |
๐บ Beer Mug | |
๐ป Clinking Beer Mugs | |
๐ฅ Clinking Glasses | |
๐ฅ Tumbler Glass | |
๐ซ Pouring Liquid | |
๐ฅค Cup with Straw | |
๐ง Bubble Tea | |
๐ง Beverage Box | |
๐ง Mate | |
๐ง Ice | |
๐ฅข Chopsticks | |
๐ฝ๏ธ Fork and Knife with Plate | |
๐ด Fork and Knife | |
๐ฅ Spoon | |
๐ซ Jar | |
""") |