حل تمرین چاپ لوزی کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین چاپ لوزی کوئرا با پایتون
برنامهای بنویسید که عدد صحیح مثبت n را از کاربر بگیرد و یک لوزی توپر به قطر 2n + 1 چاپ کند.
ورودی
در تنها خط ورودی عدد n آمده است.

خروجی
در خروجی لوزی خواسته شده را چاپ کنید.
مثال
ورودی نمونه
3
خروجی نمونه
* *** ***** ******* ***** *** *
کد پایتون سوال تمرین چاپ لوزی
n = int(input())
for i in range(1, n + 2):
print(" " * (n + 1 - i) + "*" * (2 * i - 1))
for i in range(n, 0, -1):
print(" " * (n + 1 - i) + "*" * (2 * i - 1))
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]



















با یه حلقه ساده تونستم شکل کاملشو چاپ کنم
کدتون رو برای ما ارسال کنید تا با نام خودتان منتشر کنیم.
جاوا سرعتش بیشتر نیست؟
لزوما نه بستگی به محیط و سخت افزار دارد.
با خوندن مقاله یادم افتاد که محاسبه فاصلهها و تعداد ستارهها کلید چاپ درست شکل هست
موفق باشید.
جالبه که دو حلقه بالا و پایین لوزی کاملا متقارن هستن
بله کد بالا برای حل این تمرین مناسب است.
راستش اولش نمیفهمیدم چرا فاصلهها (n + 1 – i) هست، ولی الان همه چیز روشنه
دقیقاً، (n + 1 – i) برای اینه که ستارهها در وسط لوزی قرار بگیرن. وقتی سطر بالاتر هست، فاصله سمت چپ بیشتره و با نزدیک شدن به وسط لوزی فاصله کم میشه، بنابراین فرمول (n + 1 – i) کاملاً منطقیه. نیمهی پایین هم به همین صورت با کاهش ستارهها و افزایش فاصلهها دنبال میشه.