بخشی از مجموعه

چندین نمونه کد

~2 دقیقه مطالعه • بروزرسانی ۲۱ مهر ۱۴۰۴

شرح برنامه

این برنامه پایتون یک آرایه دوبعدی را از ورودی دریافت کرده و بررسی می‌کند آیا علامت (مثبت، منفی، صفر) عناصر هر سطر به‌صورت صعودی مرتب شده‌اند یا نه.
اگر تمام سطرها این شرط را داشته باشند، خروجی "Yes" و در غیر این صورت "No" چاپ می‌شود.


تعریف علامت:

  • عدد منفی → -1
  • عدد صفر → 0
  • عدد مثبت → +1

کد پایتون:


def sign(x: int) -> int:
    return -1 if x < 0 else (1 if x > 0 else 0)

def is_sign_sorted(row: list[int]) -> bool:
    signs = [sign(x) for x in row]
    return signs == sorted(signs)

def check_all_rows(matrix: list[list[int]]) -> str:
    for row in matrix:
        if not is_sign_sorted(row):
            return "No"
    return "Yes"

def read_matrix(rows: int, cols: int) -> list[list[int]]:
    print(f"ورود عناصر آرایه {rows}×{cols}:")
    matrix = []
    for i in range(rows):
        row = list(map(int, input(f"سطر {i+1}: ").strip().split()))
        if len(row) != cols:
            print("تعداد عناصر در هر سطر باید برابر با تعداد ستون‌ها باشد.")
            exit()
        matrix.append(row)
    return matrix

# دریافت ابعاد آرایه
r = int(input("تعداد سطرها: "))
c = int(input("تعداد ستون‌ها: "))

# خواندن و بررسی
x = read_matrix(r, c)
result = check_all_rows(x)
print(f"\nنتیجه بررسی: {result}")

نمونه خروجی:


ورودی:  
-5 0 3  
-1 1 2  
0 0 1  

خروجی:  
نتیجه بررسی: Yes

نوشته و پژوهش شده توسط دکتر شاهین صیامی