Софтуерно Инженерство
Loading...
+ Нов въпрос
andrey_bg avatar andrey_bg 4 Точки

Ти го правиш все едно винаги входът ти е текст състоящ се от три думи- ами ако е повече?

Eто редактиран кода ти- само съм добавил един лист res, където запазваш резултата дума след дума, за да не ти променям много кода :) 

text = input().split()


def swap(c, i, j):
    c = list(c)
    x=c[i]
    c[i], c[j] = c[j], x
    return "".join(c)

res=[]

for key in text:
    list_zero = []
    list_element = []
    [list_zero.append(i) for i in key if i.isdigit()]
    num = int("".join(list_zero))
    num = chr(num)
    list_element.insert(0,num)
    [list_element.append(j) for j in key if not j.isdigit()]

    res.append(swap(list_element, 1, - 1))
    res.append(" ")
    list_zero.clear();
    list_element.clear();

res="".join(res)

print(res)
0
fumanbest avatar fumanbest 10 Точки

Mersi mnogo !

0
fumanbest avatar fumanbest 10 Точки

Super, mersi !

1
fumanbest avatar fumanbest 10 Точки

Здравейте ! Бихте ли пояснили как в принта едната функция извиква другата, която е вмъкната в скобите на оператора и защо обратното не е възможно ?

print(" ".join([switch_letters(int_to_chr(word)) for word in input().split()]))

Просто сега навлизам във функциите. Извинявам се, ако въпросът е доста тъп !

0
DeveloperEnthusiast avatar DeveloperEnthusiast 273 Точки

Защо да не е възможно?

print(' '.join([int_to_chr(switch_letters(word)) for word in input().split()]))
#  input - 72olle
#  output - eoll2

Просто не прави каквото трябва да прави. Първо обръща индексите на '2' и 'е' и става това грозното, защото прави char(7) - http://www.asciitable.com/

 

Действията се извършват от вътре навън и e същото като да си дефинираме една функция от сорта на:

#  input - 72olle

def decipher(word):
    word = int_to_chr(word)  # първо сменя '72' с главно 'H' - Holle
    word = switch_letters(word)  # обръща 1-ви и последен индекс
    return word  # връща Hello

# decipher(word) е същото като switch_letters(int_to_chr(word))

print(' '.join([decipher(word) for word in input().split()]))
#  ouput - Hello
print(' '.join([int_to_chr(switch_letters(word)) for word in input().split()]))
#  ouput - Hello

 

0
manish45 avatar manish45 0 Точки

in this content is very good and awesiome thanks for sharing and more tech knolege for this like How to Delete Whatsapp Group and more useful article provided thanks.

0