2016-05-24 14 views
0

Ich habe vor ein paar Stunden eine Frage gestellt, aber sie wurde als Duplikat geschlossen. Ich fragte, ob ich den Index der Listen verwenden könnte, um die Antworten zu validieren. Das war mein Original-Code:So verwenden Sie Listen in den Bedingungen

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) 

... und keyword_list: keyword_list = ["screen", "cracked", "blank"] etc ....

I (als Antwort auf die Frage) gesagt hat, dies zu tun, statt:

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

Es funktioniert jetzt nicht: das Öffnen der Textdatei funktioniert nicht, es öffnet sich nicht, nur springt es aus, und wenn Sie ein Schlüsselwort mit Index von mehr als 0 eingeben, dann tut es nichts.

Kann mir jemand sagen, was passiert. Es gibt eine screen.txt im rechten Verzeichnis btw.

Thanks :))

+0

„aber es wurde als Duplikat geschlossen“ Wenn dies die gleiche Frage Die Leute werden es wieder schließen. Ist das eine andere Frage? – Arc676

+0

Zeigen Sie uns Ihr vollständiges Skript, wie viele Indizes sind in keyword_list? – WildCard

+0

Dies ist nicht die gleiche Frage, dies ist ein Fehler, den ich bekommen habe, indem ich ihrem Rat folgt –

Antwort

0

Sie so etwas tun könnte:

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) 

Das wird funktionieren, wenn Ihre Liste k recht klein ist. Wenn Ihre Liste mit Keywords groß ist, dann könnte man den Vergleich in die andere Richtung tun um durch die Eingangsnachricht Aufspalten 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