حل تمرین لوزیهای ستارهای کوئرا
در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین لوزیهای ستارهای کوئرا
برنامهای بنویسید که عدد n را از ورودی گرفته و دو لوزی به قطر n را در کنار هم با استفاده از کاراکتر * (مطابق خروجی نمونه) چاپ کند.
ورودی
در یک خط عدد فرد n به شما نشان داده میشود.
![]()
خروجی
لوزیهای کنار هم را در خروجی چاپ کنید.
مثال
ورودی نمونه
4
خروجی نمونه
* * *** *** ********** *** *** * *
کد پایتون سوال لوزیهای ستارهای
n = int(input())
if 1 <= n <= 19 and n % 2 != 0:
for i in range(n):
if i <= n // 2:
stars = 2 * i + 1
else:
stars = 2 * (n - i - 1) + 1
spaces = (n - stars) // 2
print(" " * spaces + "*" * stars + " " * spaces, end="")
print(" " * spaces + "*" * stars + " " * spaces)
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 3 میانگین: 5]



















مرسی از حلتون
موفق باشید.
انگار یه دوست داشت نکات چاپ لوزیها رو برام توضیح می داد
سپاس از شما.
اگر n خیلی بزرگ باشه، این روش هنوز خروجی مرتب میده؟
بله، الگوریتم به درستی کار میکنه، اما چون حلقهها تعداد زیادی تکرار میکنن، وقتی n خیلی بزرگ باشه، زمان اجرا طولانی میشه و ممکنه چاپ روی صفحه کمی کند باشه. از نظر منطق برنامه مشکلی وجود نداره و خروجی همچنان مرتب و درست خواهد بود.
با خوندنش راحت تونستم خودم چند لوزی دیگه هم امتحان کنم
خیلی خوبه! هدف هم همین بود که روش ساده و قابل فهم باشه و شما راحت بتونید با تغییر n یا آزمایش نمونههای جدید، تمرین کنید.
این الگو خیلی جالب بود
موفق باشید.