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())