Python, список, индекс - PullRequest
       2

Python, список, индекс

0 голосов
/ 04 июня 2018

Я пытаюсь написать небольшую программу для своего курса по питону (обучаю себя), вроде словаря со спискамиВ одном списке есть фраза / слово, а в другом списке есть значение фразы / слова.Через пользовательский ввод пользователь может ввести слово, которое он ищет, и будет показано значение слова.У меня возникли проблемы при попытке показать смысл.Мой код ниже: «aldo» - мой первый ввод (слово), «my name» - мой второй ввод (значение)

word = []
meaning = []

user_word = input("Enter word: ")
user_meaning = input("Enter Meaning: ")
print(word)
print(meaning)

word = word + [user_word]
meaning = meaning + [user_meaning]

user_search = input("What word/phrase would you like to search: ")
search_index = word.index(user_search)
print(user_search + meaning.index(search_index))

Ответы [ 3 ]

0 голосов
/ 04 июня 2018

Если вы пытаетесь создать словарь, вместо списка вы можете использовать словарь для хранения слов и значения, а затем использовать его для поиска слова ( для получения дополнительной информации о словаре, вы можете заглянуть в документацию ).

Вы можете попробовать следующее:

my_dictionary = {} # dictionary to store word and meaning

user_word = input("Enter word: ").lower() # .lower() for not being case sensitive
user_meaning = input("Enter Meaning: ").lower() # .lower()

# add word and meaning to dictionary
my_dictionary[user_word] = user_meaning

# search word
user_search = input("What word/phrase would you like to search: ").lower()
print("Meaning of {0} is: {1}".format(user_search, my_dictionary[user_search]))
0 голосов
/ 04 июня 2018

В вашем коде есть несколько ошибок / проблем.

  1. Печать пустых списков, не уверен, что это предназначено для проверки отладки, но вы печатаете списки перед добавлением значенийим, поэтому они всегда будут пустыми.Итак, я предполагаю, что вы хотите напечатать ввод пользователя здесь;если нет, то сначала добавьте значения, а затем распечатайте списки.

  2. Используйте list.append(item) вместо list = list + [item]

  3. meaning.index(search_index)be meaning[search_index], поскольку list.index(item) возвращает значение индекса для первого вхождения этого элемента в списке, а не само значение.

  4. Наконец, не очень важно, но это скорее проблема читабельности, убедитесь, что между словом и значением или каким-то определителем есть пробел.

Вот код, предполагающий ожидаемое поведение:

word = []
meaning = []

user_word = input("Enter word: ")
user_meaning = input("Enter Meaning: ")
print(user_word)
print(user_meaning)

word.append(user_word)
meaning.append(user_meaning)

print(word)
print(meaning)

user_search = input("What word/phrase would you like to search: ")
print(user_search)
search_index = word.index(user_search)
print(user_search,  meaning[search_index])
0 голосов
/ 04 июня 2018

.index() находит индекс, а не значение

Вы имели в виду использовать meaning[search_index]?

Кроме того, для добавления в списки использование .append(value) предпочтительнее, чем + [value]

user_word = input("Enter word: ")
user_meaning = input("Enter Meaning: ")

word.append(user_word.strip())
meaning.append(user_meaning)

user_search = input("What word/phrase would you like to search: ")
search_index = word.index(user_search.strip())
print(user_search + " " + meaning[search_index])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...