امیر

پروژه محاسبه معدل و مرتب کردن معدل ها از csv

امیر

این محتوا بدون نظارت تیم سکان آکادمی تولید شده و صرفاً نظرات شخصی امیر می‌باشد.

در این پروژه شما باید برنامه‌ایی بنویسید که نمرات افراد مختلف را از یک فایل csv بخواند ومحاسبات زیر را روی نمرات انجام داده و مقادیر حاصل را در یک فایل ذخیره کند

در این پروژه شما ۵ task مختلف را باید پیاده سازی کنید. نمونه ی فایل source.py که باید برای سابمیت باید استفاده کنید در پایین صفحه وجود دارد (گزینه دانلود فایل) برای دانلود فایل روی این گزینه کلیک کنید.

به هیچ وجه اسم تابع ها را عوض نکنید و همه‌ی کدهایی که می خواهید بزنید را در همان def ها پیاده‌سازی کنید (خارج از def ها کدی نگذارید فقط به جز import کردن کتابخانه ها که همان ابتدای فایل قرار دهید)(برای میانگین گرفتن فقط از متد mean استفاده کنید (این متد از کتابخانه‌ی statistics در فایل زیر import شده است. )) (هیچ کدام از مقدار ها رند نشوند ) (تمام کتابخانه هایی که قصد import کردنشان را دارید فقط یکبار در ابتدای فایل و خارج از def ها قرار دهید و در def ها import نکنید) و به ازای هر task تابع مربوطه را کامل کنید و سپس این فایل را حتما با نام (source.py) و حتما به صورت zip دربیاورید (rar نباشد فقط zip ) و ارسال کنید.

در صورت رعایت نکردن هر کدام از نکات بالا متأسفانه نمره شما توسط سیستم صفر خواهد شد .

نکته: سیستم داوری آنلاین از پایتون 3.4 استفاده می‌کند، در این نسخه دیکشنری ها ترتیب ورود اطلاعات به خود را به یاد نمی آورند و ممکن است در صورت مرتب سازی آن‌ها به نتیجه مطلوب نرسید، برای رفع این مشکل به جای dict از OrderedDict استفاده کنید، این ساختار داده را می‌توانید از کتابخانه collections در برنامه وارد کنید.

1-معدل هر فرد را محاسبه کند و همراه با نام هر فرد ذخیره کند، ترتیب خروجی اسامی باید دقیقا مساوی ترتیب فایل ورودی باشد.

2-معدل ها را به ترتیب صعودی همراه با نام هر فرد ذخیره کند. لطفا توجه کنید اگر از dict استفاده می‌کنید ترتیب معدل ها در آن مشخص نیست برای اطلاعات بیشتر به این لینک مراجعه کنید. https://docs.python.org/3.6/tutorial/datastructures.html#dictionaries

۳-سه معدل برتر را با نام هر فرد ذخیره کند.

۴-سه معدل پایین را بدون نام هر فرد ذخیره کند.

5-میانگین معدل ها را محاسبه و ذخیره کند.

نمونه محتوای یک فایل csv

mandana,5,7,3,15
hamid,3,9,4,20,9,1,8,16,0,5,2,4,7,2,1
sina,19,10,19,6,8,14,3
sara,0,5,20,14
soheila,13,2,5,1,3,10,12,4,13,17,7,7
ali,1,9
sarvin,0,16,16,13,19,2,17,8

خروجی تَسک اول

mandana,7.5
hamid,6.066666666666666
sina,11.285714285714286
sara,9.75
soheila,7.833333333333333
ali,5.0
sarvin,11.375

خروجی تَسک دوم

ali,5.0
hamid,6.066666666666666
mandana,7.5
soheila,7.833333333333333
sara,9.75
sina,11.285714285714286
sarvin,11.375

خروجی تَسک سوم

sarvin,11.375
sina,11.285714285714286
sara,9.75

خروجی تَسک چهارم

5.0
6.066666666666666
7.5

خروجی تَسک پنجم

8.401530612244898

نکته: به این نکته توجه کنید در هر مرحله اگر معدل چند نفر یکسان بود، ترتیب خروجی باید بر اساس حروف الفبا باشد به طور مثال:

hossein 16.5
mona 16.5

توجههههههههههههههههههه: نمونه فایل که بالا بهش اشاره شد لینک دانلودش

http://s6.picofile.com/file/8376319584/15251173932454927.py.html

اقا تورو خدا کمک کنید اینو بهم خیلی اضطراریه

ایدهٔ خود را در سکان‌پلاس بنویسید!

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
کاربر میهمانمن یک کاربر مهمان هستم
۱۳۹۹/۰۹/۱۷
ميتونيم از csv module خود پايتون استفاده كنيم براى خواندن محتويات يك فايل csv اول بايستى يك reader object بسازيم:

import csv
( csvFile = open ( example.csv
(csvReader = csv.reader (csvFile
(csvData = list (csvReader


فايل open يك File Object برميگردونه و مِتد csv.reader يك Csv Reader Object به ما ميده كه ميتونيم اونرو بكار ببريم سر راست ترين راه براى دسترسي به مقادير داخل Reader Object اينه كه اونو بوسيله تابع list به يك متغير list of lists تبديل كنيم كه اين و تو متغير csvData ذخيره ميكنيم و مقدار هر سطر و ستون براحتى قابل دسترس خواهد بود
فرضاً [csvData[0][0 مقدار اولين سطر و اولين رو به ما ميده.
حالا ميشه براى task هاى خواسته شده در پروژه فانكشن ها رو به آسانى تعريف كرد ...
کاربر میهمان
کاربر میهمانمن یک کاربر مهمان هستم
۱۳۹۹/۰۹/۱۷
ميتونيم از csv module خود پايتون استفاده كنيم براى خواندن محتويات يك فايل csv اول بايستى يك reader object بسازيم:

import csv
csvFile = open ( example.csv )
csvReader = csv.reader (csvFile)
csvData = list ( csvReader )