【问题标题】:How to ignore certain strings from user input?如何忽略用户输入中的某些字符串?
【发布时间】:2021-11-09 05:49:10
【问题描述】:

初学者问题:

如何让我的输入代码忽略某些文本字符串?

你叫什么人类? 我是弗雷德

你多大了我叫 Fred

如何忽略用户输入的“我”一词?

你几岁了,我叫 Fred?我今年 25 岁

啊,弗雷德,我 25 岁 没那么老。

在处理整数时如何再次忽略用户输入?

这是我目前的代码:

name = input("What is your name human? ")

while True:
        try:
                age = int(float(input("How old are you " + name + "? ")))

                if age >= 50:
                        print(str(age) + "! Wow " + name + ", you're older than most of the oldest computers!")
                else:
                        print ("Ahh, " + name + ", " + str(age) + " isn't that old.")
                break
        except ValueError:
                print("No, I asked how old you were... ")
                print("Let us try again.")
          

【问题讨论】:

标签: python string input


【解决方案1】:

您可以使用.replace('replace what','replace with') 来实现这一目标。 在这种情况下,您可以使用以下内容:

name = input("What is your name human? ").replace("I'm ","").title()

while True:
    try:
        age = int(input("How old are you " + name + "? ").replace("I'm ",""))

        if age >= 50:
            print(str(age) + "! Wow " + name + ", you're older than most of the oldest computers!")
        else:
            print ("Ahh, " + name + ", " + str(age) + " isn't that old.")
        break
    except ValueError:
            print("No, I asked how old you were... ")
            print("Let us try again.")

同样,您可以使用您认为用户可能输入的词,这是一种方法。

【讨论】:

    【解决方案2】:

    为什么不使用应该从输入中忽略或删除的单词列表,我建议您使用以下解决方案。

    toIgnore = ["I'm ", "my name is ", "i am ", "you can call me "]
    name = input("What is your name human? ")
    
    for word in toIgnore:
        name = name.replace(word, "")
    
    while True:
        try:
            age = int(float(input("How old are you " + name + "? ")))
    
            if age >= 50:
                print(str(age) + "! Wow " + name + ", you're older than most of the oldest computers!")
            else:
                print ("Ahh, " + name + ", " + str(age) + " isn't that old.")
                break
        except ValueError:
            print("No, I asked how old you were... ")
            print("Let us try again.")
    

    输出如下

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多