Как удалить буквы в строках с помощью функций с позиционными аргументами? - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь удалить указанные c буквы, такие как «aeiouhwy», из введенной строки с помощью функций. Я проверил аналогичные вопросы, но мне не разрешено использовать списки, файлы или словари, но я могу использовать только циклы, функции и условные операторы. В приведенном ниже коде я не знаю, где назначить позиционные аргументы «обновлено» и «удалено». Итак, я не могу завершить свой код. Пожалуйста, помогите!

def remove_letters(updated,removed):
    
    new_word = ""
    for i in updated:
        if i not in removed:
            new_word+= i
    return new_word

letters = input("enter a word: ")

new_result = remove_letters(letters)

print(new_result, "aeiouhwy")

Ответы [ 2 ]

2 голосов
/ 14 июля 2020
In [8]: removed = "aeiouhwy"
In [12]: def cleaned(word):
    ...:     new_word = ""
    ...:     for i in word:
    ...:         if i not in removed:
    ...:             new_word += i
    ...:     return new_word
    ...:

In [13]: print(cleaned(input("enter a word: ")))
enter a word: aeiunnb
nnb
0 голосов
/ 14 июля 2020

Решение с использованием translate и maketrans

def remove_letters(sentence, to_remove):
    return sentence.translate(str.maketrans('','',to_remove))

s = 'But for a minister that holds the affairs of the state in the highest regard'

print(remove_letters(s, 'aeiou'))

Печать:

Bt fr mnstr tht hlds th ffrs f th stt n th hghst rgrd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...