Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo 在列表中选择元素_Netlogo - Fatal编程技术网

Netlogo 在列表中选择元素

Netlogo 在列表中选择元素,netlogo,Netlogo,我有一个由两只乌龟组成的名单(为了简单起见,房子和房东)。 多亏了这里给我的一些建议,我从列表中选择了最高价的房子,但不幸的是,房东不是房子的主人,只有海龟在前面选择了一个勾号。 我知道这只乌龟的定义有问题。 在这些建议之后,我写的是: let selected_house max-one-of turtle-set my-list [price] let selected_landlord [my-landlord] of selected_house print

我有一个由两只乌龟组成的名单(为了简单起见,
房子
房东
)。 多亏了这里给我的一些建议,我从列表中选择了最高价的房子,但不幸的是,房东不是房子的主人,只有海龟在前面选择了一个勾号。 我知道这只乌龟的定义有问题。 在这些建议之后,我写的是:

    let selected_house max-one-of turtle-set my-list [price]
    let selected_landlord [my-landlord] of selected_house
       print (word "Landlord" [selected_landlord] of selected_house)
    let new_list (list selected_house selected_landlord)

       print (word  "Landlord " selected_landlord "of house: " selected_house " by price: " [price] of selected_house)
但如果我有:

名单:

"Landlord 2 is the owner of house 4 by price 400000"
"Landlord 5 is the owner of house 1 by price 100000"
"Landlord 4 is the owner of house 3 by price 300000" 
然后我用
选择的房子/房东
来选择房价最高的房子的主人,我应该得到
(房子4,房东2)
;但是,我得到了
(4号房屋,5号房东)
,即房东之前选择了一个勾号

我对房东和房子的定义如下(我有类似的练习,但主题不同):

其中
这所房子
这个房东
是全球性的,
我的名单
房东自己的

你能帮我理解并解决这部分代码的问题吗


我认为,当我创建第一个元素=房子,第二个元素=房东的列表时,可以添加一些条件,使选择尽可能容易(例如,一旦选择第一个项目,即价格最高的房子,将列表中每个元素的第二个项目设置为房子的房东)

我不知道为什么
这所房子和
这房东是全球性的,我想(没有完整的代码)这可能是你的问题。如果我理解你的模型,每个房东都有一套房子,你想找到最贵的房子和拥有它的房东。如果每套房子都记录了房东和价格,而且每个房东都记录了他们的房子,那么你就可以将任何房子与房东联系起来,或者查看房东拥有的所有房子

下面的模型可能会让您了解如何继续。它创造了房东,然后每个房东都创造了一个随机价格的房子。然后找到最贵的房子和房东。然后对每个房东来说,它会找到房东最贵的房子。房东可以与[房东]保留一份房屋清单,但第二项对于房东的所有房屋都是相同的

breed [landlords landlord]
breed [houses house]

landlords-own [my-houses my-house-list]
houses-own [price my-landlord]

to test
  clear-all
  create-landlords 10
  ask landlords [
    hatch-houses 5 [
      set price precision (random-float 1) 3
      set my-landlord myself
    ]
    set my-houses houses with [my-landlord = myself]
  ]

  let most-expensive max-one-of houses [price]
  show (word "The mostexpensive house is house " most-expensive " owned by " [my-landlord] of most-expensive " with price =" [price] of most-expensive)

  ask landlords [
    let my-most-expensive max-one-of my-houses [price]
    show (word "landlord " self "'s most expensive house is house " most-expensive " with price =" [price] of my-most-expensive)
  ]
end
另一方面,您可以将所有房东的所有房屋列表作为一个全局列表,如果您在测试后运行
列出房屋
,您将得到这样一个列表,然后您可以按价格、房东或其他任何方式对其进行排序

globals [house-list]

to list-houses
  set house-list []
  ask houses [
    set house-list fput (list self my-landlord price) house-list
  ]
  show house-list
  let sorted-by-price sort-by [[a b] -> item 2 a > item 2 b] house-list
  let most-expensive first sorted-by-price
  show (word "the most expensive house is house " item 0 most-expensive " with owner " item 1 most-expensive " and price " item 2 most-expensive)
end

我不知道为什么
这所房子
这个房东
都是全球性的,我想(没有完整的代码)这可能是你的问题。如果我理解你的模型,每个房东都有一套房子,你想找到最贵的房子和拥有它的房东。如果每套房子都记录了房东和价格,而且每个房东都记录了他们的房子,那么你就可以将任何房子与房东联系起来,或者查看房东拥有的所有房子

下面的模型可能会让您了解如何继续。它创造了房东,然后每个房东都创造了一个随机价格的房子。然后找到最贵的房子和房东。然后对每个房东来说,它会找到房东最贵的房子。房东可以与[房东]保留一份房屋清单,但第二项对于房东的所有房屋都是相同的

breed [landlords landlord]
breed [houses house]

landlords-own [my-houses my-house-list]
houses-own [price my-landlord]

to test
  clear-all
  create-landlords 10
  ask landlords [
    hatch-houses 5 [
      set price precision (random-float 1) 3
      set my-landlord myself
    ]
    set my-houses houses with [my-landlord = myself]
  ]

  let most-expensive max-one-of houses [price]
  show (word "The mostexpensive house is house " most-expensive " owned by " [my-landlord] of most-expensive " with price =" [price] of most-expensive)

  ask landlords [
    let my-most-expensive max-one-of my-houses [price]
    show (word "landlord " self "'s most expensive house is house " most-expensive " with price =" [price] of my-most-expensive)
  ]
end
另一方面,您可以将所有房东的所有房屋列表作为一个全局列表,如果您在测试后运行
列出房屋
,您将得到这样一个列表,然后您可以按价格、房东或其他任何方式对其进行排序

globals [house-list]

to list-houses
  set house-list []
  ask houses [
    set house-list fput (list self my-landlord price) house-list
  ]
  show house-list
  let sorted-by-price sort-by [[a b] -> item 2 a > item 2 b] house-list
  let most-expensive first sorted-by-price
  show (word "the most expensive house is house " item 0 most-expensive " with owner " item 1 most-expensive " and price " item 2 most-expensive)
end