2016-02-17 4 views
0

Я создаю очень простую программу переводчика, которая использует wordreference.com для поиска значений слов.Удаление всех символов из алфавита из списка

Я не очень хорошо разбираюсь в Python (3.4), но я смог сделать это (Кроме того, я знаю, что n = n + 1 вещь, которую я сейчас не работаю, я сделал это специально для тестирования других вещи!)

import webbrowser 
import sys 
trans = True 
print('What language will you be translating FROM?') 
lang = input() 
n = 1 
print('Ok, ' + lang + ', what word would you like to translate from ' + (lang) + ' to English?') 
while trans == True: 
    if n > 99: 
     print('Another one: ') 
    word = input() 
    word = (word.lower()) 
    list = word.split() 
    if lang == 'French': 
     lang = 'fren' 
    if lang == 'french': 
     lang = 'fren' 
    for word in list:  
     webbrowser.open('http://www.wordreference.com/' + (lang) + '/' + (str(word))) 
     n = n + 1 

Мой вопрос в том, как бы мне удалить такие вещи, как запятые и восклицательные знаки из списка, но не apostraphes Мой тест приговор «Je Вайс Bien, мерси!», я хочу это чтобы открыть количество вкладок в качестве слов (что он делает), но вместо него находится

Je vais bien, merci! 

Я хочу, чтобы это было Je Вайс Bien мерси

Я знаю, как использовать

word.isalpha() 

Но это только делает это так, я не могу использовать программу на всех, если слова не в алфавитном порядке. Спасибо в adavance!

+0

Добавить ch! = "'" К вашему чеку. –

ответ

4

Это позволит удалить символы без алфавита, кроме апострофов и пробелов.

>>> s = "Je vais bien, merci!" 
>>> "".join(c for c in s if c.isalpha() or c in " '") 
'Je vais bien merci' 

Надеюсь, это поможет!

+0

Ахух, я попытался реализовать это, но не мог, так как это просто печатает его немедленно. – Will

+0

Я попробовал 'word = (код, который вы предложили). Но если в нем содержалось больше одного слова или чего-то еще, ничего не делалось, буквально ничего – Will

+0

Nevermind! Я заработал. Спасибо, ты так сильно помог! – Will

Смежные вопросы