Разбить входную строку на отдельные слова, проверить значение слова, если определенное значение существует, создать переменную, сохраняя тот же индекс, что и исходная строка - PullRequest
0 голосов
/ 06 октября 2019

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

Вот мойпока что, я не могу понять, как поступить с остальными. Я не могу понять, что делать дальше ...

#emsg = "Word not found."

c_e = raw_input("Text: ")
wordblocks = c_e.split(' ',)

wordblocksrev = ' '.join(wordblocks[::1])

print wordblocks
print wordblocksrev

Редактировать: wordblocksrev относится к "wordblocks" после замены слов &положить обратно в строку для вывода, так что вывод будет результатом соответствующих слов словаря в том же индексе. Я уже понял, что слово swap out.

Пример:

text = input("Enter text: ")
#For arguments sake the user enters "I have a black dog"
words = text.split(' ')
#["I", "have", "a", "black", "dog"]

#set variable with each value
wordblock1 = "I"
wordblock2 = "have"
wordblock3 = "three"
wordblock4 = "black"
wordblock5 = "dogs"

altwords = ["You", "had", "four", "white", "cats"]
#if "have" in text, replace with "had" (same index separate lists)
#if "black" in text, replace with "white"
#I want to hold each word as a variable, change some words, join back together so that it makes sense as a sentence

извинения за любой плохой код, я довольно новичок в python и все еще изучаю основы. ТИА

1 Ответ

0 голосов
/ 07 октября 2019

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

txt = input("Enter sentence: ")
split = txt.split(' ')

collectedwords = []

if not txt:
    print("No input entered.")
    wordblock1 = ""
else:
    wordblock1 = split[0]
    wordtest1 = wordblock1
    if wordtest1 == 'black':
        wordr1 = wordtest1.replace("black", "white")
        collectedwords.append(wordr1) 
    else:
        wordr1 = split[0]
        collectedwords.append(wordr1)

if "" in txt:
    wordblock2 = ""
else:
    wordblock2 = split[1]
    wordtest2 = wordblock2
    if wordtest2 == 'blue':
        wordr2 = wordtest2.replace("blue", "green")
        collectedwords.append(wordr2)
    else:
        wordr2 = split[1]
        collectedwords.append(wordr2)

reform = ' '.join(collectedwords)

print(txt)
print("Collected Words:", collectedwords)
print("\nReformed Words:", reform)

...