私は自分自身にパイソンを教えていますが、本当にこの質問に固執しています。 「奇数のリストを入力として受け入れる関数を書く。奇数のリストをループし、それぞれを偶数にする。偶数を新しいリストに格納し、その新しいリストを返す」。関数内で奇数のループのみを許可する
私は質問の後半部分には満足していますが、入力を奇数にすることのみを苦労しています。
これまで私が書いたことは、あなたが提出した任意の奇妙なリストに適用されます。 ([1,3,5])で始まり、偶数で始まるときに機能します。 ([2,3,5])しかし、私は偶数がリストの途中にあるときに働くようにはできません。 ([1,2,3]) - これを印刷することはできません。
def odd_to_even(x):
for i in x:
if i %2 == 0:
print('This is not an odd number')
break
else:
list = []
for n in x:
list.append(n -1)
return list
なぜこのケースに対処する必要がありますか?仕様によれば、奇数のリストが得られると言われているので、そうでなければ拒否するよう要求されない限り、常に真であると仮定することができます。また、奇妙な二重ループのことが起こっている( 'i in x'と' for n in x'の両方)。 – jonrsharpe
その問題文は実際に入力を拒否する必要があるとは言いませんが、それはどうですか?つまり、APIが「奇数のリストを提供する」と言っていて、発信者が偶数を提供しているとすれば、それは少なくとも部分的にはそれらの部分にすぎません。 Python: "私たちはすべてここで大人だ" – ShadowRanger
それは「受け入れる」という言葉をどのように解釈するかによって決まります。それには「拒絶」も含まれていますか? – deceze