PDA

نسخه کامل مشاهده نسخه کامل : راه حل برای دو تمرین پایتون



smss.exe
29-03-2020, 07:34
سلام. دو تمرین هست. من تا یه جایی پیش بردم ولی نمیدونم چجوری کاملشون کنم.
اولی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کدی که نوشتم اینه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من از ورودی های اول یه دیکشنری درست کردم. و از جمله ای که باید ترجمه بشه هم یه لیست درست کردم. حالا نمیدونم چجوری اینا رو با هم مقایسه کنم و جواب مسئله رو بدم.

دومی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

برای مسئله ی دومی هنوز راه حلی رو پیدا نکردم.

mobile-1199
29-03-2020, 14:35
درود

برای مساله اول، خیلی راحت میتونستید دو تا لیست خالی تعریف کنید (یکی برای کلمات انگلیسی و دیگری برای ترجمه ـشون)، بعد داخل حلقه for با استفاده از دستور append یا insert ، کلمات رو ادد میکردید داخل هر کدوم از لیست ها.

حالا بعد از گرفتن جمله به عنوان ورودی و جدا کردن کلماتش و ریختن کلمات داخل یک لیست سوم، میتونید یه حلقه for تعریف کنید به اندازه تعداد اعضای لیست سوم، و بیاین داخل همین حلقه دوباره یه حلقه جدید تعریف کنید به اندازه تعداد اعضای لیست اول (حاوی کلمات انگلیسی)، که بیاد چک کنه هر کلمه ی لیست سوم رو و ببینه ایا داحل لیست اول وجود داره یا خیر.


مساله دوم هم به همین صورته. یعنی کلا شما اگر از "لیست" استفاده کنید، به دلیل این که تک تک خونه هاش پلاک دارن، به راحتی توانایی چک کردن خونه ها رو به شما میده.

شما کاری که باید انجام بدید، اینه که دو تا لیست تعریف کنید. یکیش قیمت هست و دیگری کیفیت. حالا کاری که باید انجام بدید، بسیار ساده هست فقط یک مقدار حوصله میطلبه [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] شما بیاین لیستی که حاوی قیمت ها هست رو sort کنید از کوچک به بزرگ (یا بالعکس حتی) صورت "دستی" !

حالا الگوریتم های متفاوتی برای مرتب کردن لیست وجود داره، ولی راهکار کلی اینه که زمان مرتب سازی لیست قیمت ها، شما باید هر خونه ای که جا به جا میشه رو در لیستی که برای "کیفیت" تعریف کردید هم جا به جا کنید! مثال میزنم:

قیمت= [3,9,5,4]
کیفیت= [2,1,8,6]

حالا بعد از مرتب کردن لیست قیمت بر حسب ترتیب، باید پلاک های لیست کیفیت هم به همون شکل تغییر پیدا کنه (دقت کنید لزومی نداره تو لیست کیفیت هم به ترتیب مقدار جا به جا شه!) :

قیمت= [3,4,5,9]
کیفیت= [2,6,8,1]

الان میبینید که قیمت ها مرتب شدن! و با توجه به "نحوه مرتب شدنشون"، در لیست کیفیت هم تغییر به وجود اومده! حالا چی کار باید کنیم؟ "کافیه" که بعد از مرتب سازی، لیست کیفیت اعدادش به ترتیب نباشن! یعنی چی؟

یعنی این که تو همین مثالی که زدم، میبینید که سه تا کالایی که قیمتشون 3 و 4 و 5 هست، کیفیتشون هم از کم به زیاده! ولی یه دفعه اونی که قیمت ـش 9 هست، کیفیتش از قبلی هاش کمتره! و حرف ایرسا اثبات میشه و باید چاپ شه happy irsa. اگر هم لیست مربوط به کیفیت، کاملا ترتیب توش رعایت شده بود، باید چاپ کنه poor irsa.

به همین سادگی. :»

vivabarca
23-11-2020, 19:30
اولی :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

دومی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]