Loading...
stanislav_vv avatar stanislav_vv 5 Точки

08. Mutate Strings

Доста време се "вътря" на тази задача и вече блокирах. Ето условието и примерни входове и изходи:

You will be given two strings. Transform the first string into the second one, one letter at a time and print it. Print only the unique strings

Note: the strings will have the same lengths

Examples

Input

Output

bubble gum

turtle hum

tubble gum

turble gum

turtle gum

turtle hum

Kitty

Doggy

Ditty

Dotty

Dogty

Doggy

 

Това е моя код:

string1 = input()
string2 = input()
converted_string = ""
added_str = ""
uni_converted_string = ""
for i in range(0, len(string2)):
    added_str = added_str + string2[i]
    converted_string = converted_string + added_str
    for j in range(i+1, len(string1)):
        converted_string = converted_string + string1[j]
    if converted_string != uni_converted_string:
        uni_converted_string = converted_string
        print(uni_converted_string)
    converted_string = ""

Принципно примерните входове излизат, но в джъдж дава 60/100, но не мога да видя при какви входове гърми. Предполагам, че има варианти, в които повтарящите се стрингове не са поредни и от там идва проблема. Но това не знам как да го хвана като проверка предвид горния код.

Ако може някой да деде насоки, къде е бъга или друга логика за решение ще съм благодарен ;)

Тагове:
0
Python Fundamentals
Styralix avatar Styralix 11 Точки
Best Answer

word_1 = input()
word_2 = input()
word_final = ""
prev_word = ""
n = 1

for i in range(len(word_1)):
    word_final += word_2[:n] + word_1[n:]
    n += 1
    if word_final != word_1 and word_final != prev_word:
        print(word_final)
        prev_word = word_final
        word_final = ""
    else:
        word_final = ""
        continue

# 100 точки

0
Boycheff avatar Boycheff 0 Точки

Ето го и моя начин на решаване

word = input()
second_word = input()
new_string = ""

for i in range(1, len(word) + 1):
    new_string = second_word[:i] + word[i:]
    if word[i - 1] != second_word[i - 1]:
        print(new_string)

Относно тестовете, които връщат 60/100, до колкото аз успях да разбера input-a в judge е 1 или 2 символни стрингове, които не връщат правилен резултат.

0
Antoan.Stefanov avatar Antoan.Stefanov 3 Точки

Пробвай да използваш слайсинг(slicing) мисля, че е най-удачният начин за тази задача. Въртиш цикъл за всеки индекс и от първия низ режеш от началото до индекса, от втория низ от индекса до края и използваш конкатенация , проверка дали миналият низ е същият като сегашният , ако да не принтиш .

0
Martinzca avatar Martinzca 11 Точки

Решение с Replace и String Slices:

s1 = input()
s2 = input()

for i in range(len(s1)):
   if s1[i] != s2[i]:
       s1 = s1[:i] + s1[i:i + 1].replace(s1[i], s2[i], 1) + s1[i + 1:]
       print(s1)

 

0
Mladd avatar Mladd 1 Точки
first = input()
second = input()
new = ""
add = ""

for i in range(0, len(first)):
    if first[i] == second[i]:
        add = first[i]
        new += add
    else:
        add = second[i]
        new += add
        new1 = new
        for j in range(i + 1, len(first)):
            new1 += first[j]
        print(new1)
0
29/08/2021 14:46:50
ankamar56 avatar ankamar56 8 Точки
str1 = input()
str2 = input()
m_str = ''
for i in range(len(str1)):
    f_string = str1[i+1:]
    m_str = str2[:i+1]+f_string
    if str1[i] != str2[i]:
        print(m_str)

 

 

това работи 100/100

0
Datskov avatar Datskov 0 Точки

Ето решение 100/100 и със list :

text1 = input()
text2 = input()
transform_list = list(text1)

for letter in range(len(text1)):
    if transform_list[letter] != text2[letter]:
        transform_list[letter] = text2[letter]
        print("".join(transform_list))
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.