私たちの教授はこの問題を説明しましたが、まだそれほど意味がありません。Python Homework - 意味がない
質問:いくつかの整数a <= x <= b
と一部整数n <= k
、nはXにf
の用途のためにXであろう場合は1を返す関数knice(f,a,b,k)
、(例えば)と0でない場合を実装します。教授が提供するどのような
た:
def knice(f,a,b,k):
f(f(f(...(f(x)))) = x
for i = a to b:
y = f(i)
if y = i break
for j = z to k:
y = f(y)
if y = i break
個人的には、その一例が、私は説明を得ることができるかどうかを調べて、私には意味がありません。
OPのEDIT 2012年1月19日15:03 CST
これは、GTAの助けを借りて考え出した最後の関数である:
def f(x):
return 2*x-3
def knice(f,a,b,k):
x = a
while x <= b:
n = 1
y = f(x)
if y == x:
return 1
while n <= k:
y = f(y)
n=n+1
if y == x:
return 1
x=x+1
return 0
インデントが少しずれていると思いますが、2番目の 'for'ループは最初の内側にあるはずです。また、 'z'とは何ですか?最後に、この関数からは全く戻りません。この例は単なる出発点ですか、それとも実際に機能することを意図していますか? –
それは問題です。教授は何かが何を意味するのかを特定せず、40名のクラスにこれを説明しました。誰も何をすべきか分からなかったからです。正直言ってそれがzか2かどうかは分からなかった! – seiryuu10
さて、それは非動作の出発点と考えてください。いくつかの並べ替えとマイナーな調整で、その機能を動作させることができます。 –