ОК, наш профессор объяснил (вроде) эту проблему, но это все еще не имеет большого смысла.Python Домашнее задание - не имеет смысла
Вопрос: Выполнить функцию knice(f,a,b,k)
, которая будет возвращать 1, если для некоторого целого a <= x <= b
и некоторого целого n <= k
, п применений f
на х будет х, (например) и 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 1/19/2012 3: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
Я думаю, что отступы немного отключаются, второй цикл 'for' должен быть внутри первого. Кроме того, что такое 'z'? И, наконец, от этой функции нет никакого возврата. Является ли этот пример только отправной точкой или он предназначен для работы? –
В этом проблема. Профессор не уточнил, что означает какой-либо из примеров, и он объяснил это классу 40, потому что НИКТО не знал, что делать. Я честно не мог сказать, было ли это z или 2! – seiryuu10
Хорошо, тогда считайте это нерабочей отправной точкой. С некоторой перестановкой и небольшими изменениями вы можете заставить эту функцию работать. –