あなたの関数のコードを指示し、if isinstance(list[x], (int, float) == True):
の部分を修正し、最初のprint文のparanthesisを閉じる必要があります。
def check_for_number(list):
x = 0
print(isinstance(list[x], (int, float)))
true_or_false = False
for x in range(len(list)-1):
if isinstance(list[x], (int, float)) == True:
true_or_false = True
num = list[x]
x += 1
print(true_or_false)
# Decide what you want to return here
return true_or_false
return num
あなたのコードの改善に興味を持っている場合は、同様のコメントに記載されているように、== True
一部を除去。あなたの質問から、true_or_false
がFalse
またはそれ以外の場合はnum
である場合、あなたは仲間を返すと思っています。
ループにbreak
ステートメントを追加すると、最初の番号が見つかったときにループが終了します。したがって、コンピュータは完全なリストをループする必要はなく、実行時間を節約できます。
また、あなたのx += 1
ステートメントは、あなたがしたいことではありません。 for ... in range ...
ループでは、サイクルごとにxが増えます。そのため、x += 1
は、2番目のリスト要素をスキップするコードになります。 xを最初に宣言する必要もありません。
def check_for_number(list):
print(isinstance(list[x], (int, float)))
true_or_false = False
for x in range(len(list)-1):
if isinstance(list[x], (int, float)):
true_or_false = True
num = list[x]
break
print(true_or_false)
if (true_or_false):
return num
else:
return False
は不要== True
一部についてのご質問をConcering:
ザ・if文は、以下の擬似コードのように働いています。だから、
if (CONDITION) == True then do something special
あなたが== True
を追加する場合、Pythonはそうのようにそれをチェックします:
if (valeu == True) == True then do something special
と同じである:
if (value) == True then do something special
'== true'をは不要です。それを取り除く。 –
最初の印刷の最後に閉じ括弧がありません –
また、返された後に戻ることはできませんので、実際にはよりわかりやすい名前を持つべきである「true_or_false」に戻るだけです –