ヤクシャーマット!私は、Pythonを使い捨てスクリプトを作成するJavaプログラマーです。私は下のコードに示されているパーサーを作りたいと思います。ブロックの条件が正しく動作しないのはなぜですか?
class Parser(object):
def parse_message(self, message):
size= len(message)
if size != 3 or size != 5:
raise ValueError("Message length is not valid.")
parser = Parser()
message = "12345"
parser.parse_message(message)
このコードは、エラーがスローされます。
Traceback (most recent call last):
File "/temp/file.py", line 9, in <module>
parser.parse_message(message)
File "/temp/file.py", line 5, in parse_message
raise ValueError("Message length is not valid.")
ValueError: Message length is not valid.
私のミスとどのように私はそれを修正しないとは何ですか?
あなたのメッセージは、3異なる長さ5を、持っているので、ValueErrorが送出されます。代わりに 'size = 3とsize!= 5:'を使いたいのですか? –
@ tommy.carstensen - とは何ですか:5の後に?サイズが3でない場合はメッセージを拒否したい5.なぜ私のニーズを満たすために「と」を使用するのかわからない –
以下の@idjawからの明示的/精巧な答えを見てください。 –