কম্পিউটার টিউটোরিয়াল

Python-এ দুটি সংখ্যার অসাধারণ (Uncommon) ডিজিটগুলো খুঁজে বের করা

দুটি সংখ্যার মধ্যে যেসব ডিজিট শুধু একটিতে আছে (উভয়ে নয়), সেগুলো খুঁজে বের করতে সেটের symmetric_difference() মেথড ব্যবহার করা হয়। এটি দুটি সেটের সিমেট্রিক ডিফারেন্স রিটার্ন করে।

উদাহরণ কোড

def distinct_uncommon_nums(val_1, val_2):
    val_1 = str(val_1)
    val_2 = str(val_2)
    
    list_1 = list(map(int, val_1))
    list_2 = list(map(int, val_2))
    
    set_1 = set(list_1)
    set_2 = set(list_2)
    
    # সিমেট্রিক ডিফারেন্স: যেসব এলিমেন্ট শুধু একটি সেটে আছে
    uncommon = set_1.symmetric_difference(set_2)
    
    result = sorted(list(uncommon), reverse=True)
    for digit in result:
        print(digit)

num_1 = 567234
num_2 = 87953573214

print("The value of first number is:", num_1)
print("The value of second number is:", num_2)
distinct_uncommon_nums(num_1, num_2)

আউটপুট

The value of first number is: 567234
The value of second number is: 87953573214
9
8
6
1

ব্যাখ্যা

  • দুটি সংখ্যাকে স্ট্রিংে রূপান্তর → ডিজিট লিস্টে → সেটে।
  • symmetric_difference() — (A - B) ∪ (B - A) অর্থাৎ যেসব শুধু একটি সেটে আছে।
  • num_1 ডিজিট: {2,3,4,5,6,7}
  • num_2 ডিজিট: {1,2,3,4,5,7,8,9}
  • কমন: {2,3,4,5,7}
  • অসাধারণ: {1,6,8,9} → ডিক্লাইনিং অর্ডারে প্রিন্ট: 9, 8, 6, 1

সংক্ষিপ্ত সংস্করণ

def uncommon_digits(a, b):
    return sorted(set(str(a)) ^ set(str(b)), reverse=True)

print(uncommon_digits(567234, 87953573214))  # ['9', '8', '6', '1']

^ অপারেটর সিমেট্রিক ডিফারেন্সের শর্টকাট।

  1. পাইথন প্রোগ্রাম একটি ইন্টারভালের সব প্রাইম নম্বর প্রিন্ট করা

  2. দেওয়া সংখ্যার সব প্রাইম ফ্যাক্টর দক্ষতার সাথে প্রিন্ট করার পাইথন প্রোগ্রাম

  3. দেওয়া স্ট্রিংয়ের সকল পারমিউটেশন প্রিন্ট করার পাইথন প্রোগ্রাম

  4. পাইথনে দুটি বড় সংখ্যা যোগ করা