দুটি সংখ্যার মধ্যে যেসব ডিজিট শুধু একটিতে আছে (উভয়ে নয়), সেগুলো খুঁজে বের করতে সেটের 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']
^ অপারেটর সিমেট্রিক ডিফারেন্সের শর্টকাট।