This commit is contained in:
2024-09-24 22:47:46 +02:00
parent 40906e4792
commit 89ebff6f19

View File

@ -111,31 +111,37 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 14, "execution_count": 62,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"[['50', '98', '2'], ['52', '50', '48']]\n", "[[52, 50, 48], [50, 98, 2]]\n",
"seed-to-soil map\n", "seed-to-soil map\n",
"\n", "\n",
"[['0', '15', '37'], ['37', '52', '2'], ['39', '0', '15']]\n", "[[39, 0, 15], [0, 15, 37], [37, 52, 2]]\n",
"soil-to-fertilizer map\n", "soil-to-fertilizer map\n",
"\n", "\n",
"[['49', '53', '8'], ['0', '11', '42'], ['42', '0', '7'], ['57', '7', '4']]\n", "[[42, 0, 7], [57, 7, 4], [0, 11, 42], [49, 53, 8]]\n",
"fertilizer-to-water map\n", "fertilizer-to-water map\n",
"\n", "\n",
"[['88', '18', '7'], ['18', '25', '70']]\n", "[[88, 18, 7], [18, 25, 70]]\n",
"water-to-light map\n", "water-to-light map\n",
"\n", "\n",
"[['45', '77', '23'], ['81', '45', '19'], ['68', '64', '13']]\n", "[[81, 45, 19], [68, 64, 13], [45, 77, 23]]\n",
"light-to-temperature map\n", "light-to-temperature map\n",
"\n", "\n",
"[['0', '69', '1'], ['1', '0', '69']]\n", "[[1, 0, 69], [0, 69, 1]]\n",
"temperature-to-humidity map\n", "temperature-to-humidity map\n",
"\n" "\n",
"14\n",
"14\n",
"53\n",
"53\n",
"53\n",
"89\n"
] ]
} }
], ],
@ -147,14 +153,38 @@
" def __init__(self, name, map):\n", " def __init__(self, name, map):\n",
" self.name = name\n", " self.name = name\n",
" self.map = map\n", " self.map = map\n",
" self.selforganise()\n",
"\n",
" def selforganise(self):\n",
" for i in range(len(self.map)):\n",
" for j in range(i, len(self.map)):\n",
" if self.map[i][1]> self.map[j][1]:\n",
" temp = self.map[i]\n",
" self.map[i] = self.map[j]\n",
" self.map[j] = temp\n",
"\n",
"\n",
"def convert(obj, num):\n",
" index = 0\n",
"\n",
" for i in obj.map:\n",
" if i[1] <= num:\n",
" #print(\"IIIII: \", )\n",
" break\n",
" index += 1\n",
" else:\n",
" index -= 1\n",
" if obj.map[index][1] + obj.map[index][2] > num:\n",
" return num\n",
" \n", " \n",
" def getconvert(self, numbre):\n",
" for i in self.map:\n",
"\n",
" pass\n",
"\n",
"\n", "\n",
" #print(obj.map[index][1], \" \", obj.map[index][2], \" \", num)\n",
" space = num - obj.map[index][1]\n",
" if space > obj.map[index][2]:\n",
" return num\n",
"\n", "\n",
" return obj.map[index][0] + space\n",
" \n",
"\n", "\n",
"with open(\"almanac.txt\", 'r') as reader:\n", "with open(\"almanac.txt\", 'r') as reader:\n",
" seedlist = reader.readline()\n", " seedlist = reader.readline()\n",
@ -166,12 +196,18 @@
" elif i != '\\n':\n", " elif i != '\\n':\n",
" maper.append(list(i.split()))\n", " maper.append(list(i.split()))\n",
" elif len(maper) > 0 and name != \"\":\n", " elif len(maper) > 0 and name != \"\":\n",
" almanac.append(map(name, maper))\n", " almanac.append(map(name, [[eval(j) for j in i] for i in maper]))\n",
" maper = []\n", " maper = []\n",
"\n", "\n",
"for i in almanac:\n", "for i in almanac:\n",
" print(i.map)\n", " print(i.map)\n",
" print(i.name)" " print(i.name)\n",
"\n",
"location = 14\n",
"\n",
"for i in almanac:\n",
" print(location)\n",
" location = convert(i, location)"
] ]
} }
], ],