簡體   English   中英

如果/不檢查輸入內容是否為輸入的一部分,如何進行輸入?

[英]How could I make an input if/else check if something is PART of an input?

好的, 我是Python的新手,因為只用它編寫了約2.5周的代碼。 請記住您的答案。 :D

我目前正在嘗試制作一個程序,因為實際上在網上學習一些東西並制作了一些東西可以幫助我學習(極其基本的Ubuntu終端模擬器,為什么不; p),我需要輸入一個輸入來檢查if /其他語句在輸入中。

例:

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

但是,如果在輸入中任何地方提到sudo / cd / anything,都有if語句觸發。 如果有人輸入“ sudo cd /”,它將觸發,因為輸入中包含Sudo。 再說一次,我是整體上對這種語言不熟悉的人,所以請不要回答“ du,您只要這樣做,就應該知道”,請回答!

if "sudo" in input1:
    ...

這將檢查子字符串的包含以及序列(列表,元組,字符串等)中的外觀。

對於更一般的用途,要查找輸入中是否有任何不允許的術語:

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

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

任何 (邏輯或)運算符和所有 (邏輯和)運算符都會經過一個值列表,並將它們視為布爾值(檢查每個元素的“真實”屬性)。 方括號中的內容稱為“列表理解”,這是一種通過描述構建列表的方式-一種列表內部編碼for循環的方式。

@Prune的答案就是您的要求。 但是對於您想做的事情,我相信.starstwith('sudo')可能會有所幫助。

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

因為否則,例如,如果您運行類似echo 'sudo'的操作,它將詢問您密碼。

注意: .strip刪除字符串開頭或結尾的所有空格/換行符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM