حل تمرین حلزون مختصاتی کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین حلزون مختصاتی کوئرا با پایتون
شکل زیر، یک حلزون مختصاتی را نشان میدهد. هر حلزون مختصاتی با اندازهی n از شمارهی یک در مرکز مختصات شروع میشود و طبق تصویر زیر طی مسیر میکند.

میخواهیم برنامهای بنویسید که عدد را از کاربر دریافت کند و سپس مختصات آن نقطه را به کاربر تحویل دهد.
ورودی
در یک خط عدد n به شما داده میشود.
![]()
خروجی
در تنها خط خروجی مختصات را جدا شده با فاصله چاپ کنید.
مثال
ورودی نمونه 1
14
خروجی نمونه 1
4 -3
توضیح: شمارهی یک در مبدأ مختصات قرار میگیرد و شماره دو در نقطهی (1,0) و شمارهی سه در نقطهی (1,1) و به همین ترتیب پیشمیرود تا درنهایت، نقطهی 14 در (3-,4) قرار میگیرد.
کد پایتون سوال تمرین سوال حلزون مختصاتی
n = int(input()) counter = 1 prior_pos = [] current_pos = [0, 0] if n == 1: print(0, 0) else: while counter < n: if current_pos[0] > 0 and current_pos[1] < 0: current_pos[1] = -current_pos[1] + 1 elif current_pos[0] > 0 and current_pos[1] > 0: current_pos[0] = -current_pos[0] elif current_pos[0] < 0 and current_pos[1] > 0: current_pos[1] = -current_pos[1] elif current_pos[0] < 0 and current_pos[1] < 0: current_pos[0] = -current_pos[0] + 1 elif current_pos[0] == 0 and current_pos[1] == 0: current_pos[0] = 1 current_pos[1] = 0 elif current_pos[0] == 1 and current_pos[1] == 0: current_pos[0] = 1 current_pos[1] = 1 counter += 1 print(current_pos[0], current_pos[1])
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.



















من خودم همیشه آخر سر جواب رو نگاه میکردم ولی این بار واقعا فهمیدم چرا اینطوری حل میشه
موفق باشید.
اعتماد به نفسم بیشتر شد برای حل سوالای بعدی
موفق باشید.
من تازه شروع کردم به حل سوالای کوئرا
موفق باشید اگر سوالی داشتید در بخش نظرات برای ما بنویسید.
واقعا توضیحات ساده و روان بود
سپاس از نظر شما.
منم همین سوال رو توی کوئرا حل کرده بودم و کلی اذیت شدم
این سوال به یادگیری شما از مباحث برنامه نویسی کمک زیادی میکنه خوشحالیم تونستی خودت این سوال رو حل کنی.