2016-04-01 20 views
-3

if any(word in 'x' for word in list): numaralı telefonu kullanarak, bazı kelimelerin (listedeki) herhangi birinin belirli metinlerde olup olmadığını öğrenmek için Kelimelerin hiçbiri bulunmayanları atın. Oldukça iyi çalışıyordu ama birkaç ay önce şartlı ifade her zaman olumlu sonuçlar vermeye başladı. Örneğineğer varsa (listedeki kelime için 'x' kelimesinde): iyi çalışmıyor

:

list=['home','cat'] 
if any(word in "my home is red" for word in list): 
    print "YES" 
YES 
if any(word in "my hair is red" for word in list): 
    print "YES" 
YES 

Ama şartlı ikinci bana negatif sonuç gösterir gerekiyordu. Önceki kodumdaki hiçbir şeyi değiştirmedim ama yine de birinin bana yardım edebileceği aptalca bir hata yapabilirim.

+4

olsun. İlk "herhangi", "True" i döndürür ve ikincisi, "False" değerini döndürür. – idjaw

+4

NumPy'yi veya "numpy import *" işlevini otomatik olarak çalıştırmak için yapılandırılmış bir kurulum mu kullanıyorsunuz? Genel kural olarak – user2357112

+0

, "list" ile yaptığınız gibi ayrılmış bir kelimeyi geçersiz kılmak kötü bir uygulamadır. Daha açıklayıcı bir isim kullanmaya çalışın. –

cevap

0

İkinci "YES" in ikinci satırdan geldiğinden emin misiniz?

mylist=['home','cat'] 
if any(word in "my home is red" for word in mylist): 
    print "YES" 
else: 
    print "NO" 

if any(word in "my hair is red" for word in mylist): 
    print "YES" 
else: 
    print "NO" 

Bunu çalıştırmak

kodunuzu değiştirin, ben Ben öyle olacağına beklediğiniz gibi bu kod çalıştıran

YES 
NO 
İlgili konular