如何使用带位置参数的函数删除字符串上的字母?

2024-05-06 11:59:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用函数从输入的字符串中删除特定的字母,如“aeiouhwy”。我检查过类似的问题,但我不允许使用列表、文件或dicitonaries,但我只能使用循环、函数和条件语句。在下面的代码中,我不知道在哪里分配位置参数“updated”和“removed”。因此,我无法完成我的代码。请帮忙

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")

Tags: 文件函数字符串代码in列表new字母
2条回答

使用translate and 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
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

相关问题 更多 >