如果/ else检查某些内容是否为输入的一部分,我怎么能输入?

时间:2017-03-18 01:09:50

标签: python

好的,我是Python新手,,因为它只编写了~2.5周。请记住你的答案。 :d。

我目前正在尝试创建一个程序,因为实际使用我在线学习的东西制作程序可以帮助我学习它(非常基本的Ubuntu终端模拟器,为什么不学习; p)我需要做一个输入来检查是否存在某些内容if / else语句在输入中。

示例:

 input1 = input("test@ubuntu:~$")
 if input1 == "sudo":
     input2 = input("[sudo] enter password for test:")

但如果在输入中任何地方提到了sudo / cd / anything,请使用if语句触发器。 如果有人输入“sudo cd /”,它会触发,因为输入中有Sudo。再说一遍,我对整个语言不熟悉,所以请不要“呃,你这样做,你应该已经知道了”答案!

2 个答案:

答案 0 :(得分:1)

if "sudo" in input1:
    ...

这将检查子字符串包含以及序列中的外观(列表,元组,字符串等)。

更常用的用途是查找输入中是否包含任何不允许的术语:

bad_list = [
    "sudo",
    "cd",
    "/",
    "anything"
]

if any([word in input for word in bad_list]):

任何(逻辑或)和所有(逻辑和)运算符都会查看值列表,将其视为布尔值(检查" truthy&# 34;每个元素的属性)。括号中的内容称为"列表理解",它是按描述构建列表的一种方式 - 在中编码 for / em>一个清单。

答案 1 :(得分:0)

@ Prune的答案就是你所要求的。但是对于你想要做的事情,我相信.starstwith('sudo')可能会有所帮助。

if input1.strip().starstwith('sudo'):
   ...

否则,如果您运行echo 'sudo'之类的内容,它会问您密码。

注意:.strip删除字符串开头或结尾的所有空格/换行符