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

Чтобы сделать это для одной строки, я подтвердил, что это были только цифры, и перебрал ее символы, так что я пропустил первое число, изменил остальные на определенные буквенные значения и добавил новый символ в конец. Эти особенности не обязательно являются важными. Я пытаюсь найти способ трактовать каждое случайное «слово» чисел в предложении одинаково. Это возможно?

Я не должен использовать какие-либо расширенные функции. Только циклы, перечисление, цепочки, строковые функции и т. Д. Я чувствую, что просто что-то переосмысливаю!

NUM_BRAILLE="*"
digits='1234567890'
decade="abcdefhij"


def numstuff(s):
    if len(s)==1 and s.isdigit():
        s=s+NUM_BRAILLE
    elif " " not in s and s.isdigit():
        start_s=s[:1]
        s=s[1:]
        for i in s:
            if i in digits:
                s=s.replace(i,decade[int(i)-1])
        s=start_s+s+NUM_BRAILLE
   else:
   #if sentence contains many " " (spaces) how to find "words" of numbers and treat them using method above?
0
e_school 26 Окт 2019 в 05:13

1 ответ

Вы можете сделать что-то вроде этого, чтобы извлечь числовые значения из предложения и передать значения в вашу функцию.

sentence = "This is 234 some text 888 with few words in 33343 numeric"

words = sentence.split(" ")
values= [int(word) if word.isdigit() else 0 for word in words]

print values

Выход: введите описание изображения здесь

0
Shiv 26 Окт 2019 в 09:47