امین در زمان تصمیم میگیرد یک آلارم بیدار باش برای ساعت تنظیم کند. این اپلیکیشن برای اینکه ابهام و اشتباهی در کار پیش نیاید، باید به او بگویید که چقدر بعد، این آلارم برای اولین بار زنگ میخورد.
برای مثال اگر در لحظهی 15:41:30
(ساعت ۱۵ و ۴۱ دقیقه و ۳۰ ثانیه) آلارم را برای ساعت 18:00:00
(ساعت ۱۸) تنظیم کنیم. باید بگویید این آلارم 02:18:30
(۲ ساعت و ۱۸ دقیقه و ۳۰ ثانیه) دیگر برای اولین بار زنگ میخورد.
توجه کنید ممکن است زمان ست شدن، قبل از زمان فعلی باشد و یعنی اولین بار در فردای آن روز زنگ میخورد. همچنین اگر زمان و یکسان بود، فردای آن روز را اعلام کند.
در سطر اول ورودی، و در سطر دوم ورودی آمده که هر دو به فرمت hh:mm:ss
است.
تضمین میشود که ss
، mm
بین ۰ تا ۵۹ است و hh
بین ۰ تا ۲۳ است.
در یک سطر، نشان دهید چند وقت بعد ساعت زنگ میخورد. فرمت خروجی مانند ورودیها باشد.
آلارم در لحظهی 03:05:18
تنظیم شده که برای 09:30:00
زنگ بخورد پس ۶ ساعت و ۲۴ دقیقه و ۴۲ ثانیه دیگر برای اولین بار زنگ میخورد.
آلارم در ساعت ۱۳ تنظیم شده که برای ساعت ۶ زنگ بخورد پس ۱۷ ساعت دیگر برای اولین بار زنگ میخورد.
در یک دیتاست رشته باینری به طول ذخیره شده است. همچنین به هرکدام از این رشتهها Y
یا N
نسبت دادهایم.
حال به شما رشتهی باینری به طول داده میشود و از شما میخواهیم بررسی کنید، کدامیک Y
یا N
هستند. اگر یک رشتهای در دیتاست وجود نداشت، رشتهی Unknown
را خروجی میدهیم.
در سطر اول ورودی سه عدد صحیح و و که با یک فاصله از هم جدا شدهاند آمده است.
در سطر بعدی، در هر سطر یک رشته به طول از کاراکترهای 0
و 1
به شما داده میشود و سپس با یک فاصله یکی از کاراکترهای Y
و N
داده میشود.
تضمین میشود هیچ دوتایی از این رشته باهم برابر نباشد.
در سطر بعدی، در هر سطر یک رشته به طول از کاراکترهای 0
و 1
به شما داده میشود.
خروجی سطر دارد و در هر سطر، کاراکتر متناظر با رشته را چاپ کنید و اگر این رشته در آن رشته نبود Unknown
را چاپ کنید.
اخیراً کوئرا فروشگاهی به نام کوئراشاپ تأسیس کرده و میخواهد دسترسی راحتی به اطلاعاتی که در پایگاهدادهی فروشگاه ذخیره شده، داشته باشد. بنابراین قصد داریم تعدادی کوئری برای دریافت این اطلاعات بنویسیم.
پروژهی اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه بهصورت زیر است.
پایگاهداده و مدلها از پیش طراحی شدهاند و جزئیات آن به صورت زیر است.
شرکت/Company
محصول/Product
کارمند/Employee
مشتری/Customer
سفارش/Order
جزئیات طراحی مدلها را در فایل models.py
در پروژهی اولیه مطالعه کنید.
۱. کوئریست کارمندان با سن کمتر از ۳۰ سال که شغل دادهشده را دارند
۲. لیست اسامی کالاهایی که قیمت آنها از میانگین قیمت تمام محصولات فروشگاه کمتر است (به ترتیب صعودی قیمت)
۳. کوئریست نام هر شرکت و تعداد کل محصولات فروختهشده (شامل تاپلهایی به صورت (name, sold)
)
۴. مجموع درآمد فروشگاه بین دو تاریخ دادهشده
۵. کوئریست نام و شمارهی موبایل مشتریان طلاییای که در یک ماه گذشته بیش از ۱۰ خرید داشتهاند (شامل تاپلهایی به صورت (name, phone)
)
۶. لیست نام تمام شرکتهایی که حداقل ۴ محصول آنها کمتر از ۱۰۰ عدد فروش داشته است
درصورتیکه علاقمندید که خودتان به صورت دستی کوئریهای خود را امتحان کنید و از درستی آنها اطمینان حاصل کنید، یا اینکه به بررسی بیشتر از این مسئله بپردازید، برای راحتی بیشتر شما، فایلهای models.py
و مایگریشنها ساخته شدهاند و شما کافیست که قبل از شروع کار، جهت ایجاد پایگاهداده، یک بار دستور migrate
را اجرا کنید.
علاوهبر این، یک سری دادهی ازپیشآمادهشده، فراهم شده که بعد از اجرای دستور migrate
، میتوانید آنها را وارد پایگاهدادهی پروژهی خود کنید. به این منظور، دستور زیر را اجرا کنید. میتوانید از این دادهها به جهت تست کردن کوئریهای خود استفاده کنید.
۱. ایجاد پایگاهداده
۲. وارد کردن دادههای ازپیشآمادهشده (fixture)
درصورتیکه علاقمند به تست نیستید، نیازی به ایجاد پایگاهداده و وارد کردن دادههای آزمایشی نیست، و تنها کافیست که در فایل queries.py
کوئریهای خود را بنویسید و از کوئرا جهت امتحان کردن درستی کوئریهایتان استفاده کنید.
queries.py
را دارید و تمامی تغییرات دیگر شما در فایلهای پروژه نادیده گرفته خواهند شد. توجه داشته باشید که تمامی بسترهای پروژه آماده شده و کافیست که شما تنها فایل queries.py
را کامل کنید. models.py
با ساختار پایگاهداده، و با مطالعهی test_sample.py
با روش تست کوئریها آشنا شوید.این سؤال از نوع سوالات تکفایل است؛ برای ارسال جواب، فایل پایتونی را که در آن موارد خواستهشده قرار دارد را انتخاب و سپس ارسال نمایید.
در مدرسهی کوئرا، کلاسهایی وجود دارند که باید آنها را با استفاده از APIهایی که در آینده نوشته خواهند شد در سیستم ثبت کنیم. تکمیل سریالایزر مدل Classroom
به فرهاد محول شده است. برای اطمینان از درستی کار فرهاد، به کمک شما برای تست سریالایزر فرهاد نیاز داریم.
شما باید تست/تستهایی بنویسید که درستی کد فرهاد را بررسی کند.
پروژهی اولیه را از این لینک دانلود کنید.
Classroom
🔗فرهاد باید سریالایزری بر مبنای مدل Classroom
به نام ClassroomSerializer
ایجاد کند که ۲ محدودیت زیر حتماً در لایهی سریالایزر در نظر گرفته شوند.
capacity
نمیتواند مقدار کمتر از ۵ داشته باشد. (مقادیر صحیح: اعداد بزرگتر یا مساوی ۵)area
نمیتواند مقدار منفی داشته باشد. (مقادیر صحیح: اعداد بزرگتر یا مساوی ۰)temp_tests_file.py
در اپ classes
بنویسید؛ نه در فایل tests.py
.این سؤال از نوع سوالات تکفایل است؛ برای ارسال جواب، فایل پایتونی را که در آن موارد خواستهشده قرار دارد را انتخاب و سپس ارسال نمایید.
فرهاد که به اندازهی کافی با سلری و جنگو آشنا نیست برای انجام پروژه زیر به کمک شما نیاز دارد.
پروژهی اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه بهصورت زیر است:
accounts/models.py
🔗مدل User
در فایل accounts/models.py
را بهنحوی تغییر دهید تا زمانی که اشتراک کاربر به اتمام رسید، ایمیلی به کاربر ارسال شود. از تسک ارسال ایمیل در فایل accounts/tasks.py
استفاده کنید.
blog/views.py
🔗ویوی ArticleCreateView
در فایل blog/views.py
را بهنحوی تغییر دهید که:
author
فقط برای کاربران ادمین (superuser) وجود داشته باشد. برای کاربران عادی این فیلد نمایش داده نشود و مقدار آن برابر خود کاربر باشد.status
فقط برای کاربران ادمین (superuser) وجود داشته باشد. برای کاربران عادی این فیلد نمایش داده نشود و مقدار آن برابر d باشد.فیلدهای قابل ویرایش برای:
کاربر ادمین:author
, title
, slug
, body
, status
, category
, is_premium
کاربر عادی:title
, slug
, body
, category
, is_premium
blog/article_create.html
رندر شود.برای حل سوال یک فایل ZIP که شامل کلیه فایلهای موجود در پروژه است، ارسال کنید.