Как перевести голландский на английский в Python, используя словарь - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь перевести меня как Джейсона, используя этот код, но когда я его использую, он ничего не печатает, если я не произнесу ни одного слова, такого как hello, тогда он напечатает тег guten, но это все.Кроме того, я не могу превратить входные данные в строчные, чтобы иметь возможность сравнить их со словарем.Что я могу сделать, чтобы этот код работал?

name = input("Please enter your name\n")
data = [input("Please enter sentence\n")]
data = data.lower() #to make sentence lowercase to be able to compare it to the words in the dictionary
dictionary = {"hello": "hallo", "i" : "ik", "am" : "ben"}

dictionary[name] = name
for word in data:
    if word in dictionary:
        print (dictionary[word],)

Это обратная связь

* Пожалуйста, введите ваше имя

Джейсон

Пожалуйста, введите предложение

Я Джейсон *

Traceback (most recent call last):
  File "C:/Users...", line 3, in <module>
    data = data.lower()
AttributeError: 'list' object has no attribute 'lower'

1 Ответ

0 голосов
/ 11 марта 2019

Вы создали список из ответа пользователя

In [26]: data = [input("Please enter sentence\n")]

Please enter sentence
You are Jason

In [27]: data
Out[27]: ['You are Jason']

списки не имеют метода lower.
Сначала получите ответ пользователя и переведите его в нижний регистр.

In [28]: data = input("Please enter sentence\n")

Please enter sentence
You are Jason

In [29]: data
Out[29]: 'You are Jason'

In [30]: data = data.lower()

In [31]: data
Out[31]: 'you are jason'

Затем разбить строку на пробел, чтобы получить список отдельных слов.

In [32]: data = data.split()

In [33]: data
Out[33]: ['you', 'are', 'jason']
...