Write a program to print the following,
Input
The first line contains a string representing a scrambled word.
The second line contains some space-separated strings representing words guessed by the player.
Output
The output should be a single integer of the final score.
Explanation
scramble word = "tacren"
guessed words = ["trance", "recant"]
Since "trance" and "recant" both have length 6 then you score 54 pts each.
So the output is 108.
Sample Input1
tacren
trance recant
Sample Output1
108
Sample Input2
rceast
cat create sat
Sample Output2
2
while True:
scr_w= input('Please, input word => ').lower().strip()
if scr_w.isdigit() == False and len(scr_w) == 6:
break
else:
print('Please, input word which lenght = 6')
guess_w = input('Please, input words whose characters can be in the scrambled word\n').lower().split()
dct_scr = {}
points = {
3: 1,
4: 2,
5: 3,
6: 4
}
total = 0
flag = True
for el in scr_w:
dct_scr[el] = dct_scr.get(el, 0) + 1
for el in guess_w:
if el.isdigit() == False and 3 <= len(el) <= 6:
dct_guess = {}
for c in el:
dct_guess[c] = dct_guess.get(c, 0) + 1
for key, value in dct_guess.items():
if key in dct_scr:
if value != dct_scr[key]:
flag = False
break
else:
flag = True
else:
break
if flag:
total += points[len(el)]
if len(el) == 6:
total += 50
else:
continue
print('Your points =', total)
Comments
Leave a comment