Как перевернуть определенную строку во входной строке и вернуть всю строку с перевернутой частью? - PullRequest
1 голос
/ 06 марта 2020

У меня проблемы с тем, что было сказано в названии. В основном мне дают предложения, которые содержат адреса - я должен изменить только адрес в предложении и вернуть строку. Я могу полностью изменить адрес, но у меня возникают проблемы с возвратом всей строки. Мой код: (редактировать: теперь исправлено):

def problem3(searchstring):
    """
    Garble Street name.

    :param searchstring: string
    :return: string
    """
    flag = 0
    output = ""
    #each word is considered in loop
    for i in searchstring.split():

        if i.endswith('.'): #if the word ends with .
            flag = 0
            stype = i
            output += " " + stype
        elif flag == 1: #if the flag is 1
            #street =
            output += " " + i[::-1]
        elif i.isdigit(): #if the word is digit
            flag =1
            #num = i
            output += i
        else:
            output += i + " "
    #address = num + " " + street + " " + stype
    return output

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Вместо того, чтобы использовать «если» несколько раз, вы можете использовать приведенный ниже код или вы также можете использовать продолжить:

0 голосов
/ 06 марта 2020

Попробуйте это

def problem3(searchstring):
    """
    Garble Street name.

    :param searchstring: string
    :return: string
    """
    flag = 0
    street = ""
    stri=""
    #each word is considered in loop
    for i in searchstring.split():
        if i.endswith('.'): #if the word ends with .
            flag = 0
            stype = i
            continue
        if flag == 1: #if the flag is 1
            street = street + " " + i[::-1]
            continue
        if i.isdigit(): #if the word is digit
            flag =1
            num = i
            continue
        stri=stri+' '+i
    address =stri+" "+ num + " " + street + " " + stype
    return address

Тогда при вызове функции:

print(problem3('The EE building is at 465 Northwestern Ave.'))
print(problem3('Meet me at 201 South First St. at noon'))

вывод будет

The EE building is at 465  nretsewhtroN Ave.                                                                                                      
Meet me at at noon 201  htuoS tsriF St.
...