どうやって作るのですか:
if str(variable) == [contains text]:
調子?
(または何か、私が書いたばかりのものが完全に間違っていると確信しているため)
リストのrandom.choice
が["",]
(空白)であるか、["text",]
を含むかを確認しようとしています。
あなたの文字列を空の文字列と比較することができます:
if variable != "":
etc.
ただし、次のように短縮できます。
if variable:
etc.
説明:if
は、指定した論理式の値True
またはFalse
を計算することにより実際に機能します。論理テストの代わりに単に変数名(または「hello」のようなリテラル文字列)を使用する場合、ルールは次のとおりです。空の文字列はFalseとしてカウントされ、他のすべての文字列はTrueとしてカウントされます。空のリストと数字のゼロも偽としてカウントされ、他のほとんどのものは真としてカウントされます。
文字列が空かどうかをチェックする「Python」の方法は次のとおりです。
import random
variable = random.choice(l)
if variable:
# got a non-empty string
else:
# got an empty string
空の文字列はデフォルトでFalseです:
>>> if not "":
... print("empty")
...
empty
if s
またはif not s
と言うだけです。のように
s = ''
if not s:
print 'not', s
あなたの特定の例では、私がそれを正しく理解していれば...
>>> import random
>>> l = ['', 'foo', '', 'bar']
>>> def default_str(l):
... s = random.choice(l)
... if not s:
... print 'default'
... else:
... print s
...
>>> default_str(l)
default
>>> default_str(l)
default
>>> default_str(l)
bar
>>> default_str(l)
default
element = random.choice(myList)
if element:
# element contains text
else:
# element is empty ''
python 3の場合、 bool() を使用できます
>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True
if str(variable) == [contains text]:
条件を作成するにはどうすればよいですか?
おそらく最も直接的な方法は次のとおりです。
if str(variable) != '':
# ...
if not ...
ソリューションはopposite条件をテストすることに注意してください。
引用符の間にさらにスペースがある場合は、このアプローチを使用します
a = " "
>>> bool(a)
True
>>> bool(a.strip())
False
if not a.strip():
print("String is empty")
else:
print("String is not empty")
変数にテキストが含まれる場合:
len(variable) != 0
それのない
len(variable) == 0
string = "TEST"
try:
if str(string):
print "good string"
except NameError:
print "bad string"