如何在条件

时间:2016-05-24 12:19:25

标签: python list file python-3.x python-3.4

几个小时前我问了一个问题,但它已经关闭了。我问我是否可以使用列表索引来验证答案。这是我的原始代码:

message = input("Problem: ")
for item in keyword_list:
    if item in message:
        if item == "screen" or item == "cracked" or item == "blank":
            subp.call("screen.txt", shell=True)

...和keyword_list:keyword_list = ["screen", "cracked", "blank"]等....

我被告知(作为问题的答案)而不是这样做:

message = input("Problem: ")
for item in keyword_list:
    if item in message:
        if item in keyword_list[:3]:
            subp.call("screen.txt", shell=True)

它现在不起作用:文本文件的打开不起作用,它没有打开,只是跳过它,如果你输入索引大于0的关键字,那么它不会任何东西。

有人可以告诉我发生了什么。右侧目录btw中有一个screen.txt。

谢谢:))

1 个答案:

答案 0 :(得分:0)

你可以这样做:

import subprocess as subp

k = ['screen','cracked','blank']
m = input('Problem:')
for i in k:
    if i in m:
        file = r'C:\somedir\somefile.txt'
        subp.Popen (file, shell=True) 

如果您的列表k相当小,那将会有效。如果您的关键字列表很大,那么您可以通过拆分输入消息m

进行相反的比较
import subprocess as subp

k = ['screen','cracked','blank']
m = input('Problem:')
for i in m.split():
    if i in k:
        file = r'C:\somedir\somefile.txt'
        subp.Popen (file, shell=True)  

HTH