forked from Rits1272/PythonPrograms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFlames_game.py
155 lines (67 loc) · 2.66 KB
/
Flames_game.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#Function for removing common characters
# with their respective occurences.
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 a 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 : ")
p1 = p1.lower()
p1.replace(" ",'')
p1_list = list(p1)
# take second 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 becomes 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 the flag value
proceed = ret_list[1]
star_index = con_list.index('*')
p1_list = con_list[:star_index]
p2_list = con_list[star_index + 1:]
# count remaining letters:
count = len(p1_list) + len(p2_list)
# list of FLAMES acronym
result = ["Friends", "Love", "Affection", "Marriage", "Enemy", "Siblings"]
# Keeping looping until only one item
# is not remaining in the remaining list.
while(len(result) > 1):
split_index = (count % len(result))
if split_index >= 0:
right = result[split_index + 1:]
left = result[:split_index]
result = right + left
else:
result = result[:len(result)]
# print final result
print("Relationship status : ", result[0])