Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| def calculate_stats(numbers): | |
| """ | |
| Calculate the average and standard deviation of a list of numbers. | |
| """ | |
| if not numbers: | |
| return "Error: No numbers provided" | |
| try: | |
| if isinstance(numbers, str): | |
| numbers = numbers.split(',') | |
| numbers = [float(num.strip()) for num in numbers] | |
| average = sum(numbers) / len(numbers) | |
| std_dev = (sum((x - average) ** 2 for x in numbers) / len(numbers)) ** 0.5 | |
| return f"Average: {average}\nStandard Deviation: {std_dev}" | |
| except ValueError: | |
| return "Error: All inputs must be numeric" | |
| except Exception as e: | |
| return f"Error: {str(e)}" | |
| def main(): | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Average and Standard Deviation Calculator") | |
| with gr.Row(): | |
| numbers_input = gr.Textbox(label="Enter numbers (separate by commas)") | |
| calculate_button = gr.Button("Calculate") | |
| with gr.Row(): | |
| result_output = gr.Markdown(label="Results") | |
| def calculate_and_display(numbers): | |
| stats = calculate_stats(numbers) | |
| return stats | |
| calculate_button.click( | |
| fn=calculate_and_display, | |
| inputs=[numbers_input], | |
| outputs=[result_output] | |
| ) | |
| demo.launch() | |
| if __name__ == "__main__": | |
| main() | |