0

我正在尝试检查一行中是否有机器人一词。(我正在学习 python。对它还是很陌生。)如果“机器人”这个词在一行中,它会打印出一些东西。与“机器人”相同。但是,我需要知道当机器人在线但在随机混合情况下如何输出,例如 rObOt。这可能吗?看来我需要写出每个组合。我正在使用 Python 3。谢谢:)。

if ' robot ' in line:
  print("There is a small robot in the line.")
elif ' ROBOT ' in line:
  print("There is a big robot in the line.")
elif 'rOBOt' in line:
  print("There is a medium sized robot in the line.")
else:
  print("No robots here.")
4

2 回答 2

2

您可以使用lower()which is a string 方法在 Python 中将字符串转换为小写。

所以这个想法是在你检查了小写和大写之后,如果在任意情况下有一个机器人,它将在第三种情况下被拾取。

if ' robot ' in line:
  print("There is a small robot in the line.")
elif ' ROBOT ' in line:
  print("There is a big robot in the line.")
elif ' robot ' in line.lower():
  print("There is a medium sized robot in the line.")
else:
  print("No robots here.")

另外,我注意到您在 word 之前和之后放置了一个空格robot,我猜您也想为第三个条件放置一个空格。

于 2020-05-19T09:49:45.607 回答
1

希望下面的代码可以帮助到你。

line = "Hello robot RoBot ROBOT"

l = line.split(" ")

exist = False

for word in l:
    if word.upper() == "ROBOT":

        exist = True

        if word.isupper():
            print("There is a big robot in the line.")
        elif word.islower():
            print("There is a small robot in the line.")
        else:
            print("There is a medium sized robot in the line.")

if not exist:
    print("No robots here.")
于 2020-05-19T09:52:45.370 回答