【问题标题】:Making letters from user input disappear from a string使来自用户输入的字母从字符串中消失
【发布时间】:2020-01-21 04:05:43
【问题描述】:

谁能帮我做一些简单的事情,但我似乎遇到了一个小障碍。

我需要从用户那里获取随机字符串的输入。然后我需要询问用户他们希望我使哪些字母从他们的字符串中消失。

然后我需要使用 for 循环使这些特定字母从字符串中消失并打印显示丢失的字母。

到目前为止,我有以下代码:

user_input = input("Please enter a string")
disappear = input("now please enter the chracters you would like to disappear")
for a in user_input.replace(disappear, " "):
    print (a)

我的代码运行,但在新行上打印出每个字母,确实使我选择的字母消失,但它也使其他字母消失。

任何最简单形式的帮助将不胜感激。 谢谢

【问题讨论】:

    标签: python for-loop replace


    【解决方案1】:

    您可以通过替换每个单独的字母来做到这一点:

    user_input = input("Please enter a string")
    disappear = input("now please enter the chracters you would like to disappear")
    for a in disappear :
        user_input = user_input.replace(a, '')
    print(user_input)
    

    您的原始脚本无法正常工作的原因是这里的这一部分:

    for a in user_input.replace(disappear, " "):
        print (a)
    

    究竟发生了什么?好吧,首先你评估一下:

    user_input.replace(disappear, " ")
    

    假设我的user_input 是“hello world”,dissapear 是“he”。这将评估为“llo world”。现在会发生什么:

    for a in 'llo world':
        print(a)
    

    你看到它应该打印出来:

    l
    l
    o
    
    w
    o
    r
    l
    d
    

    【讨论】:

      【解决方案2】:

      为了在 Python 中打印在同一行,请像这样传递 kwarg "end = ''":

      print(a, end='')
      

      我在这段代码中看到的另一个问题是您正在替换消失子字符串的实例,而不是消失中的单个字母。从您的程序预期用途的描述来看,听起来您想替换用户输入的所有字母。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-19
        • 1970-01-01
        • 2015-01-31
        • 2018-04-08
        相关资源
        最近更新 更多