2016-07-17 3 views
1

https://www.codeeval.com/open_challenges/199/ здесь описание упражнения.Строка Маска в codeEval

Это мое решение для меня правильно, но в codeEval у меня есть статус «Частично». Может быть, кто-то знает, что не так?

import sys 

with open(sys.argv[1], 'r') as test_cases: 
for test in test_cases: 

    a, b = test.split() 

    for index, value in enumerate(b): 
     if value == '1': 
      a = a.replace(a[index], a[index].upper()) 

    print (a) 

test_cases.close() 
+0

(i) Ваш отступ вкручен, (ii) строка 'a = a.replace..' неверна (она будет работать для перечисленных входных образцов, но не для, например,' hello 00010') – thebjorn

+0

Я добавляю заменить максимальный аргумент 'a.replace (а [индекс], а [индекс] .upper(), 1)', но я не понимаю, что это неправильно отступов – Mtzw

+0

для цикла должны быть изобретены внутри с-заявления. – thebjorn

ответ

0

Одна большая проблема в том, что, когда вам нужно прописной символ на основе его позиции в строке, вы не должны использовать замены, которые, как вы используете его uppercases все вхождений этот символ в строке, независимо от того, находятся ли они в положениях, которые должны быть в верхнем регистре.