0% found this document useful (0 votes)
6 views2 pages

Python3 #

Uploaded by

vishvakarthik06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views2 pages

Python3 #

Uploaded by

vishvakarthik06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

Python3

# function for removing common characters


# with their respective ococcurrences

def remove_match_char(list1, list2):

for i in range(len(list1)):
for j in range(len(list2)):

# if common character is found


# then remove that character
# and return list of concatenated
# list with True Flag
if list1[i] == list2[j]:
c = list1[i]

# remove character from the list


list1.remove(c)
list2.remove(c)

# concatenation of two list elements with *


# * is act as border mark here
list3 = list1 + ["*"] + list2

# return the concatenated list with True flag


return [list3, True]

# no common characters is found


# return the concatenated list with False flag
list3 = list1 + ["*"] + list2
return [list3, False]

# Driver code
if __name__ == "__main__":

# take first name


p1 = input("Player 1 name : ")

# converted all letters into lower case


p1 = p1.lower()

# replace any space with empty string


p1.replace(" ", "")

# make a list of letters or characters


p1_list = list(p1)

# take 2nd name


p2 = input("Player 2 name : ")
p2 = p2.lower()
p2.replace(" ", "")
p2_list = list(p2)

# taking a flag as True initially


proceed = True

# keep calling remove_match_char function


# until common characters is found or
# keep looping until proceed flag is True
while proceed:

# function calling and store return value


ret_list = remove_match_char(p1_list, p2_list)

# take out concatenated list from return list


con_list = ret_list[0]

# take out flag value from return list


proceed = ret_list[1]

# find the index of "*" / border mark


star_index = con_list.index("*")

# list slicing perform

# all characters before * store in p1_list


p1_list = con_list[: star_index]

# all characters after * store in p2_list


p2_list = con_list[star_index + 1:]

# count total remaining characters


count = len(p1_list) + len(p2_list)

# list of FLAMES acronym


result = ["Friends", "Love", "Affection", "Marriage", "Enemy", "Siblings"]

# keep looping until only one item


# is not remaining in the result list
while len(result) > 1:

# store that index value from


# where we have to perform slicing.
split_index = (count % len(result) - 1)

# this steps is done for performing


# anticlock-wise circular fashion counting.
if split_index >= 0:

# list slicing
right = result[split_index + 1:]
left = result[: split_index]

# list concatenation
result = right + left

else:
result = result[: len(result) - 1]

# print final result


print("Relationship status :", result[0])
Output:

Player 1 name : ANKIT


Player 2 name : DEEPIKA
Relationship status : Marriage

You might also like