Python BOOK 9.1. Problems for Champions - Part I 03. Five Special Letters
По условие в изхода не трябва да има повтарящи се символи, а в примерните ВХОД -1, 1 и ВХОД 200,300 в ИЗХОД има много случай на повтарящи се символи.
Аз решавам задачата без повтарящи се символи и джъдж ми връща 20/100
Ако някой е решил задачата, нека подхвърли някой жокер.
link към условието: https://python-book.softuni.bg/chapter-09-problems-for-champions.html последната задача от главата Задача: пет специални букви.
Ето и кода:
first_number = int(input())
second_number = int(input())
result = ''
a = 0
b = 0
c = 0
d = 0
e = 0
weight = 0
for i1 in range(0, 5):
for i2 in range(0, 5):
for i3 in range(0, 5):
for i4 in range(0, 5):
for i5 in range(0, 5):
pattern = 'abcde'
full_word = pattern[i1] + pattern[i2] + pattern[i3] + pattern[i4] + pattern[i5]
word = pattern[i1]
if word.find(pattern[i2]) == -1:
word += pattern[i2]
if word.find(pattern[i3]) == -1:
word += pattern[i3]
if word.find(pattern[i4]) == -1:
word += pattern[i4]
if word.find(pattern[i5]) == -1:
word += pattern[i5]
if word.find('a') != -1:
a = (word.find('a') + 1) * 5
if word.find('b') != -1:
b = (word.find('b') + 1) * -12
if word.find('c') != -1:
c = (word.find('c') + 1) * 47
if word.find('d') != -1:
d = (word.find('d') + 1) * 7
if word.find('e') != -1:
e = (word.find('e') + 1) * -32
if len(word) == 5:
weight = a + b + c + d + e
if first_number <= weight <= second_number:
result += full_word + ' '
if result == '':
print('No')
else:
print(result.strip())