Прежде всего, если вы начинаете с b = []
, вы просто собираетесь создать другой список. Если вы пытаетесь создать строку, вы должны иметь:
b = ""
И приложить к концу этого, используйте синтаксис:
b = b + "a"
# or the shorthand:
b += "a"
Теперь, как для логики вашего метода. Вы не добавляете то, что, по вашему мнению, добавляете. Например:
b.append(a)
пытается добавить некоторую переменную a
в конце списка b
. Кажется, что вы хотели добавить символ или строку 'a'
:
# for a list use
b.append('a')
# for a string use:
b += "a"
То же самое касается и x
y
, вам нужно использовать кавычки вокруг них: 'x'
и 'y'
. Кроме того, вы не собираетесь, чтобы добавить место для:
b.append("")
Вы должны фактически поместить пространство в строку, в противном случае вы просто добавить пустую строку в конец b
которого составляет, по существу, никаких изменений в b
, Вы должны попробовать:
# for a list use
b.append(" ")
# for a string use:
b += " "
Факторинг во всех этих изменениях грубый скелет кода должен идти больше как:
def v_niz(plosca):
b = ""
for e in plosca:
if e == "":
b += " "
if e == 'a' :
b += 'a'
# ...
return b
Ну ... 'Ā' действительно * не * определено. Ни то, ни другое не являются 'x' и' y'. – deceze
Почему бы вам не использовать '' a'', ''x'' и' 'y''? –
Также ... разве вы не просто восстанавливаете 'plosca'? 'def v_niz (plosca): return plosca' будет делать то же самое в данном примере. – deceze