Я думаю, что ваша подпись функции не имеет правильного отступа, посмотрите следующий код:
p=[0.2, 0.2, 0.2, 0.2, 0.2]
world=['green', 'red', 'red', 'green', 'green']
Z = 'red'
pHit = 0.6
pMiss = 0.2
def sense(p, Z):
q=[]
for i in range(p):
if(Z==word[i]):
q.append(p[i]*pMiss)
else:
q.append(p[i]*pHit)
return q
print sense(p,Z)
Примечание: Блок кода (тело функции, цикл и т. Д.) Начинается с отступа и заканчивается первой строкой без отступа. Количество отступов зависит от вас, но оно должно быть одинаковым во всем блоке.