Negin
11 ماه پیش توسط Negin مطرح شد
1 پاسخ

پروژه چاپ الگوی داده شده

سلام
برنامه ای با زبان پایتون بنویسید که به ترتیب ۴ عدد را گرفته (با جدا کننده ویرگول(،)) و الگوی تولید اعداد را پیدا کرده و ۶ عدد از آن الگو را پیدا کرده و چاپ نماید(الگو ها یا تصاعد حسابی هستند یا تصاعد هندسی)
مثال ۱:
ورودی ۱،۲،۳،۴
خروجی : الگو ۱+
۵،۶،۷،۸،۹،۱۰
مثال ۲ :
ورودی ۱۰،۱۳،۱۶،۱۹
خروجی:۳+
۲۲،۲۵،۲۸،۳۱،۳۴،۳۷
مثال ۳:
ورودی : ۱,۲,۴,۸
خروجی: ۲×
۱۶،۳۲،۶۴،۱۲۸،۲۵۶،۵۱۲
مثال ۴:
ورودی ۹،۷،۵،۳
خروجی :۲-
۱،-۱,-۳,-۵,-۷,-۹
مثال ۵:
ورودی ۱۰۲۴،۵۱۲،۲۵۶،۱۲۸
خروجی : ۲÷
۶۴،۳۲،۱۶،۸


ثبت پرسش جدید
میکائیل
تخصص : برنامه نویسی سمت سرور و کلاینت
@FullStack 11 ماه پیش مطرح شد
0

سلام وقت بخیر
میتونید از این کد استفاده کنید فقط اگه توی ادیتور که پرینت کرد فارسی رو به هم ریخته نشون داد میتونید نوشته های فراسی رو انگلیسی کنید فارسی گذاشتم که متوجه بشی کدوم قسمت چیکار میکنه

def num_pattern(numbers):
    if len(numbers) < 4:
        return "اگه تعداد اعداد وارد شده (جدا شده با ویرگول) کمتر از 4 باشه  از شرط خارج میشه"

    diff = numbers[1] - numbers[0]
    ratio = numbers[1] / numbers[0]

    is_arithmetic = True
    is_geometric = True

    for i in range(2, len(numbers)):
        if numbers[i] - numbers[i-1] != diff:
            is_arithmetic = False
        if numbers[i] / numbers[i-1] != ratio:
            is_geometric = False

    if is_arithmetic:
        return " حسابی است و تفاوت عدد ها {}.".format(diff)
    elif is_geometric:
        return " هندسی است و تفاوت عدد ها {}.".format(ratio)
    else:
        return "الگو نامعتبر میباشد"

# دریافت ورودی از کاربر
num_input = input("عدد هارو با ویرگول(,) وارد کنید: ")
numbers = [int(num) for num in num_input.split(',')]

# پیدا کردن الگوی اعداد
pattern = num_pattern(numbers)
print("الگو: " + pattern)

# چاپ شش عدد بعدی بر اساس الگو
if pattern.startswith("Arithmetic"):
    diff = int(pattern.split()[-1][:-1])
    arithmetic_sequence = [numbers[3] + diff * i for i in range(1, 7)]
    print("دنباله حسابی", arithmetic_sequence)
elif pattern.startswith("Geometric"):
    ratio = float(pattern.split()[-1][:-1])
    geometric_sequence = [numbers[3] * ratio**i for i in range(1, 7)]
    print("دنباله هندسی:", geometric_sequence)
else:
    print("نمی توان دنباله ای را بدون الگوی شناخته شده ایجاد کرد")

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام