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() | |