我希望您帮助我生成Python代码，用于找出给定单链表中元素值为正整数和的倒数第二个节点的值。如果链表中没有两个或更多的正整数节点，则返回-1。在这个限定条件下，请提供相关的Python代码。此外，我们还假设，单链表是通过定义一个`Node`类，并通过相邻类实例的属性实现相连组成的。定义如下：

```python
class Node:
    def __init__(self, value):
        self.value = value
        self.next = None
```
user
```python
class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

def find_second_last_positive(head):
    if not head:
        return -1

    positive_nodes = []
    current = head

    while current:
        if current.value > 0:
            positive_nodes.append(current.value)
        current = current.next

    if len(positive_nodes) < 2:
        return -1
    else:
        return positive_nodes[-2]

# 示例用法
# 创建链表: 1 -> 2 -> -3 -> 4 -> 5
head = Node(1)
head.next = Node(2)
head.next.next = Node(-3)
head.next.next.next = Node(4)
head.next.next.next.next = Node(5)

print(find_second_last_positive(head))  # 输出: 4
```

在这个代码中，我们定义了一个`Node`类来表示单链表的节点。然后，我们定义了一个函数`find_second_last_positive`，该函数遍历链表，收集所有正整数值，并返回倒数第二个正整数值。如果链表中没有两个或更多的正整数节点，则返回-1。
assistant