خب همونطور که از تیتر معلومه میخوایم ی برنامه پایتونی بنویسیم که بتونه انحراف معیار و میانگین تعداد دلخواهی داده رو مثل ی ماشین حساب مهندسی حساب کنه. میشه برای بدست آوردن انحراف معیار از scipy استفاده کرد اما ما میخوایم اینجا خیلی پایه ای تر خودمون فرمول ریاضیشو بنویسیم و بدستش بیاریم. اینو هم بگم که این پروژه نسبتا مبتدیه و خودم بعد یاد گرفتن while loop انجامش دادم.
بعد از خوندن این مقاله روش خودتونو هم برای این کار کامنت کنید ممکنه روش من بهینه نباشه.
اول میایم math رو import میکنیم چون بهش احتیاج داریم:
import math
حالا کافیه تعداد داده هارو به عنوان ی متغیر از کاربر بگیریم:
n= int(input("Enter the number of datas that you have:"))
الان میخوایم همه داده هارو توی ی لیست خالی ذخیره کنیم و اون لیست رو به کاربر نمایش بدیم:
i=1 list=[ ] while i<=n: a=float(input(f"Enter the data{i}:")) list.append(a) i=i+1 print(list)
اینجا اول ی لیست خالی گرفتیم بعد هر داده ای که کاربر input میکنه رو بهش append میکنیم. و این چرخه رو ادامه میدیم تا همه داده ها append بشن. بعدش هم که پرینتش میکنیم.
حالا جمع و میانگین رو نمایش میدیم:
sum=sum(list) print(f"sum is: {sum}") mean=sum/n print(f"mean is: {mean}")
حالا میخوایم انحراف معیار رو حساب کنیم. فرمولش به صورت زیره:
خب پس اول باید هر داده رو از میانگین کم کنیم و بعد به توان دو برسونیم و بعد توی ی while loop همه رو توی ی لیست ببریم که داشته باشیمشون و بعد جمع بزنیمشون. بعد هم که تقسیم بر n کنیم.
پس شروع میکنیم:
i=1 list2=[ ] while i<=n: d=float(pow((list[i-1]-mean),2)) list2.append(d) i=i+1
اینجا داده هارو از لیست قبلی گرفتیم و بعد تفاضل با میانگین و به توان دو رسوندن وارد list2 کردیم.
حالا انحراف معیار رو تعریف کرده و پرینتش میکنیم:
stdev=math.sqrt(math.fsum(list2))/math.sqrt(n) print(f"stdev is: {stdev}")
تمام!
نمای کلی کد:
نتیجه: