В моей программе пользователь может ввести список слов или букву n.То, что я хочу сделать, это когда они вводят n, он хочет установить значение переменной, в которой пользовательский ввод сохраняется в вопросительный знак (?).
Также в моей программе пользователь вводитдругой список, если они вводят n, я хочу, чтобы программа генерировала таблицу частот слов.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я выписываю операторы if для ввода пользователя n, я неНе думайте, что это меняет значение или создает таблицу частот.
Я переместился туда, где находится код в программе.Я не получаю ответ от оператора if, независимо от того, где я его поместил в код.Первоначально я думал, что программа заключалась в том, что я поместил ее ближе к концу программы, и поскольку она читала ее сверху вниз, ничего не происходило.Теперь я не уверен.
Я включил фрагменты кода, которые будут работать вместе, поэтому я не вставляю всю программу.
# Ask user for needed keywords or symbols
user_keywords = input("What keywords or special symbols would you like to search the provided file for?\n"
"Please separate each entry with a comma.\n If you would like to just search for question marks"
"please just type n.")
# Holding list, using comma as a way to separate the given words and symbols
list1 = list(user_keywords.split(','))
# Print list for user to see
print("You have entered the following keywords and/or special symbols: ", list1)
# Ask user for needed repeating words
user_repeating = input("What repeating words would you like to search the provided file for?\n"
"Please separate each entry with a comma. \n If you would like a frequency table for all words"
"two letters or more, please type n.")
# Holding list, using comma as a way to separate the given words and symbols
list2 = list(user_repeating.split(','))
# Print list for user to see
print("You have entered the following words: ", list2)
frequency = {}
# Check to see if list1 has no parameters and sets to ?
if list1 == 'n':
list1 = '?'
print("We will search for any question marks.")
# Check to see if list2 has no parameters and creates a frequency array
if list2 == 'n':
document_text = open (path1, 'r')
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{2-20}\b', text_string)
print("We will look for all word frequencies.")
for word in match_pattern:
count = frequency.get(word,0)
frequency[word] = count + 1
frequency_list = frequency.keys()
for words in frequency_list:
print(words, frequency[words])
Я ожидаю, что list1быть установленным в?когда n введен пользователем.Я ожидаю, что list2 сгенерирует таблицу частоты слов, когда пользователь вводит n.
Я не получаю никаких ошибок.В этот момент он просто переходит прямо в конец программы и возвращает последнюю строку печати, которая у меня есть, поэтому я знаю, что она не вызывает операторы if.