ToCode
Ir al canal en Telegram
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Mostrar mรกs1 420
Suscriptores
+124 horas
+17 dรญas
-430 dรญas
Archivo de publicaciones
1 420
ืืืื ืืืืชื: ืืืืงืช ืืืคืืื ื Beautiful Soup ืืคืืืชืื
ืืงืื ืืื ื ืืฉื ืื ืืืื ืง ืืฉื ื ืืื ืืืคืืื href:
from bs4 import BeautifulSoup
text = """<div>
<a href="#a">a</a>
<a>not a link</a>
</div>"""
if __name__ == "__main__":
soup = BeautifulSoup(text, features="html.parser")
for link in soup.find_all("a"):
print(link["href"])
ืืืชืจ ืืขื ืืื ืืฉืื ืื ืฉ bs4.Tag ืื ืืืืฉื ืืืืงืช ืฉืืืืืช ืืงืื ืืื ืจืฅ ืืื ืื ืืืคืืก ืืฃ ืืื ืง:
for link in soup.find_all("a"):
if "href" in link:
print(link["href"])
ืื ืขืืฉืื? ืืจื ืืืช ืืื ืืืกืชืื ืขื ืืืคืืื attrs ืฉื ืืชื, ืฉืืื ืื ืืืืื:
for link in soup.find_all("a"):
if "href" in link.attrs:
print(link["href"])
ืืจื ืฉื ืื ืืื ืืืฉืชืืฉ ื get ืืืงืื ืืกืืืจืืื ืืจืืืขืื, ืื get ืืืืืจ None ืืฉืืืืคืืื ืื ืงืืื:
for link in soup.find_all("a"):
if link.get("href") is not None:
print(link["href"])1 420
ืฉืืืืืช ืืชืืจ ืขืจืืื ืืคืืืชืื?
ืืืช ืืกืืืืช ืฉืขืืจืชื ืืคืืืชืื ืืกืงืืื ืืคืจืืืงื ืืืฉ ืฉืื ื ืืื ื ืืื ืืขืจืืช ืืืืคืืกืื ืฉื ืกืงืืื, ืืื ืืื ืืฉืืจ ืื ืขืืืื ืขื ืฉืืืืืช ืืชืืจ ืขืจืืื. ืืชืื ืชื ืคืืืชืื ืจืืื ืฉืืืืขืื ืืกืงืืื ืื ืื ืขืืืจืื ืืืืื ืืืื ืืชืืืื ืืื ืืืืืจ ืืขืืื ืืคืืืชืื ืื ืื ืื ืฉืืจื ืฉืื ืื ื ืืคืขืืืื ืืืืื ืืืจืืง Exception ืืืฉื ืืช ืืช ืื ืืืื ืืชืืื ืืช, ืืืื ืื ื ืืจื ืืืื ืืืืืจื ืฉื ืคืื ืงืฆืื ืืืฆืืืจ ืฉืืืชื ืคืื ืงืฆืื ืืืจืงืช Exception.
ื ืืกืืื ืืื ืืืชืืืื ืขื ืืืชืืจ ืืืคืืข ืืคืืกื ืฉื ืืื ืืกื ืืืจืช Inngest. ืื ืืฆืืขื ืืืจืื ืืช ืืงืื ืฉืืื ืื ืฉืืขืืื ืื ืืืจืืง Exception ืืืืงืื ืื ืืืืืจ ืชืืื ืขืจื ืื ืงืื ืฉืืืื, ืืืืืื:
* Define a function that returns a union of a User and an error *
def get_user(user_id: str) -> User | Exception:
rows = users.find(user_id=user_id)
if len(rows) == 0:
return Exception("user not found")
return rows[0]
def rename_user(user_id: str, name: str) -> User | Exception:
# Consume the function
user = get_user(user_id)
if isinstance(user, Exception):
return user
user.name = name
return user
ืืืื ืจืืฉืื ืื ื ืจืื ืืขื ืืื ืืืืื ืืืืืจ ืืช ืจืืกื ืื ืื. ืืคืื ืงืฆืื get_user ืืืืื ืืืฆืืื ืื ืืืืืฉื ืืืขืืืื ืืืืช ืืืคืืขื ืืืชืืื ืฉืื, ืืื ืื ืฉืืคืขืื ืืืชื ืืืืฆืข ืืืืงืช ืืืคืืกืื ืืืื ืืืื ืืืืื ืฉืืคืื ืงืฆืื ืืฆืืืื ืืคื ื ืฉืืคืฉืจ ืืืื ืืขืืื ืขื ืืขืจื.
ืืื ืงืฉื ืืจืืืช ืืื ืืืฉืง ืืื ืืืืื ืืฉืืคืืจ ืืงืื. ืืชืืฆืื ืืืืชืจ ืกืืืจื ืืื ืงืื ืืกืื ืื Java ืฉืืืจืื ืืืชื ื ืืืืืง ืื ืคืื ืงืฆืื ื ืืฉืื ืืื ืงืจืืื ืืคืื ืงืฆืื. ืื ืงืฆืช ืืืชืจ ืืื ืืืคืืจื ืืช ืฉื ืคืืืชืื ืืื ืืืฆืจ ืขืืืก ืื ืกืืืจ ืขื ืืงืื ืฉืงืืจื ืืคืื ืงืฆืืืช.
ื ืฉืืื ืืช ืื ืืกืงืืื (ืื ืฉืคืืช ืืืจืืช ืฉืืืคืฉืจืืช ืฉืืืื-ืืชืืจ-ืขืจื):
case class User(id: Long, name: String)
val users: List[User] = List(
User(1, "glassgrieving"),
User(2, "wrensponge"),
User(3, "horizonhow"))
def getUserIndex(userId: Long): Option[Int] =
users.indexWhere(p => p.id == userId) match
case i if i >= 0 => Some(i)
case _ => None
def renameUser(userId: Long, newName: String): Option[List[User]] =
for {
index <- getUserIndex(userId)
} yield users.updated(index, User(userId, newName))
ืืืืจืกืช ืืกืงืืื ืืืชืืื ืฉื ืืคืื ืงืฆืื ืืจืืจื ืืืื ืืกืืืื ืืืืฉืืื - ืื ืื ื ืืืืืจืื Option ืืื ืืช ืืืืืืงื ืื ืืจืฉ, ื Option ืืกืงืืื ืขืฉืื ืืืืืืง ืขืจื ืืื ืื ืืืื ืืืืืช ืจืืง.
ืืงืกื ืืืืข ืืคืื ืงืฆืื ืืฉื ืื renameUser. ื ืืื ืืกืงืืื ืื ืื ื ืขืืืืื ืขื ืืืืข ืฉืืื Immutable ืืืื ืืื ืฆืจืื ืืฉื ืืช ืงืฆืช ืืช ืืืืืื ืืืืืืืจ ืจืฉืืืช ืืฉืชืืฉืื ืืืฉื, ืืื ืืืืจ ืืืฉืื ืืื ืืื ืืืคื ืืขืืืื ืขื ืืขืจื ืฉืืืื ืืืืืช ืจืืง. ืืคืื ืงืฆืื renameUser ืืื ืืกื ืืื ืืืฉืื ืืขืจื ืจืืง ืืืฉืื ืืืืืช ืจืืง ืืฉืืืืฉืื ืืืฉืื. ืืคืฉืจ ืืืฉืื ืขื ืื ืืื ืกืืื ืฉืืื ืืืืืคืกืงืจืืคื ืืฉืื ืื ื ืืืชืืื:
a?.b?.c?.d
ืื ืืื ืืืขืจืืื ืืืื ืจืืง ืืืืฉืื ืืืื ืืืืืจ ืชืืฆืื ืจืืงื ืืืื ืืกืืจ, ืื ืื ื ืื ืฆืจืืืื ืืช ื if ืฉืืืืง ืื ืขืจื ืืืืืจ ืืฆืืจื ืืคืืจืฉืช - ืฉืืืื ืืชืืจ ืขืจื ืืืืจืช ืฉืืคืฉืจ ืืืืฉืื "ืืขืืื" ืขื ืืฉืืืื ืืืืื ืืืชื ืขืจื ืจืืื, ืืจืง ืืฉื ืฆืืจื ืืช ืืขืจื ืืืืืื ืื ืืขืฉืืช ืขื ืืชืืฆืื ืื ืืฉืืืื.
ืืื ืืืขืชื ืื ืืกืืื ืฉื Inngest ืืขืงืืฃ ืืช ืื ืื ืื ืืจืืงืช ืืฉืืืืืช ืฉื ืคืืืชืื ืื ืขืื ืืืืืชื, ืืืคื ืื ืื ืื ืฉืืื ืื ื ืื ืืขืืื ืืืชื ืืื ืื ืื ืฉืจืง ืืืกืืฃ ืกืืจืืื ืืื ืืืืช ืืคืชืืจ ืืช ืืืขืื, ืื exceptions ืืคืืืชืื ื ืืจืงืื ืืื ืกืคืจืื ืืืื ืืืืื ืืืื ื.1 420
ืคืืชืจืื Advent Of Code 2023 ืืื 10 ืืืง ืจืืฉืื ืืกืงืืื
ืืื ืืื ืืืืช ืืจืคืื ืืืื ืืฉืืื ืืืชืืื ืืช ืืฉืืืข, ืืื ืืืขื ื ืืืื ืืขืฉืืจื ืืืจ ืฉื Advent Of Code ืืืืจืื ืืกืงืืื. ืื ื ืืืืื ืืงืืื ืขื ืกืืฃ ืืฉื ื ืืกืืื ืืช ืื 25 ืืืืืืช ืืื ืืืืืข ืืืื ื 2024, ืืื ืืชืืื ืื ืชืืื ืืืจ ืืกืืื. ืืื ืืงืจื ืืืื ื ืจืื ืื ืืืื ืื ื ืืจืืง ืืืกืื ืืืืง ืืจืืฉืื ืฉื ืืืืื ืืขืฉืืจืืช.
ืืืคืืฉ ืืขืื ืืืจืฃ
ืืงืื ืืคืขื ืืื ืชืืืืจ ืฉื ืืกืืืืื ืืคืฉืจืืื ืืืจืื ืืคืืจืื ืงืฆืช ืืืืจ, ืืืืืื:
.....
.F-7.
.|.|.
.L-J.
.....
ื ืงืืื ืืกืื ืช ืืฉืืฆืช ืฉื ืืฆืืช ืืืืฅ ืืืจืฃ, ืืืกืืื ืื ืืืืจืื ืืกืื ืื ืืืืื ืืฉืืฆืืช ืืืฉืืฆืช ืขื ืืกืืื ืืืืืจืช. ืืืฉื ืืืฉืืฆืช ืขื ืืกืืื - ืืฉืืจื ืืฉื ืื ืืืืืจืช ืืืฉืืฆืช ืขื ืืกืืื F ืืื ืขื ืืกืืื 7. ืืื ืกืืื ืืฉ ืืฉืืขืืช ืืคื ืืคืืจืื ืืื:
1. ืงื ืื ืื ืืืืจ ืืช ืืืฉืืฆืืช ืฉืืขืืื ืืืชืืชืื
2. ืงื ืืืคืงื ืืืืจ ืืช ืืืฉืืฆืืช ืืฉื ื ืฆืืืื
3. ืืืืช L ืืืืจืช ืืช ืืืฉืืฆืช ืฉืืขืืื ืขื ืืืช ืฉืืืืื ื
4. ืืืืช J ืืืืจืช ืืช ืืืฉืืฆืช ืฉืืขืืื ืขื ืื ืฉืืฉืืืื
5. ืืืืช F ืืืืจืช ืืช ืืืฉืืฆืช ืฉืืชืืชืื ืขื ืืืช ืฉืืืืื ื
6. ืืืืช L ืืืืจืช ืืช ืืืฉืืฆืช ืฉืืขืืื ืืื ืฉืืืืื ื
ืืืชืืจ ืืื ืืื ืฉื ืงืืืช ืืืชืืื ืืกืืื ืช ืืืืช S ืืื ืื ื ืื ืืืืขืื ืืืื ืกืืื ืืืืืจืื ืืฉ ืื, ืืืืืจ ืงืื ืืืืชื ืืืืืื ืืืื ืืขืฆื:
.....
.S-7.
.|.|.
.L-J.
.....
ืืืฉืืื ืฉืื ื ืืื ืืืฆืื ืืช ืืืขืื ืืืืืคืืก ืืช ืืืจืืง ืฉื ืื ืงืืื ืืจืืืงื ืืืืชืจ ืฉืืชืืื ืื ืงืืืช ืืืชืืื. ืืงืื ืืืืืื ืืชืฉืืื ืืื 4 ืืื ืงืืื ืืื ืจืืืงื ืืื ืืืคื ืฉืืืคืืขื ืืืืช J (ืชืกืคืจื ืืชืจืื).
ืคืืขื ืื ืืงืื ืืกืงืืื
ืืจื ืงืื ืืืืฆื ืืช ืืงืื ืืื Hash Map ืื ืืืคืชื ืืื ืงืืืืจืืื ืืืช ืฉื ืืฉืืฆืช ืืืขืจื ืืื ืจืฉืืื ืฉื ืื ืืืฉืืฆืืช ืืืื ืืคืฉืจ ืืืืืข ืืืืชื ืืฉืืฆืช. ืืฉืืื ืืื ืืช ืืช ืืงืื ืืชืืืชื ืขื ืคืื ืงืฆืื ืฉืืงืืืช ืงืืืืจืืื ืืืช ืฉื ืืฉืืฆืช ืืกืืื ืืืืืืจื ืืช ืจืฉืืืช ืืืฉืืฆืืช ืืืืื ืืคืฉืจ ืืืืืข:
def connections(ch: Char, row: Int, column: Int): List[(Int, Int)] =
ch match
case '.' => List()
case '|' => List((row - 1, column), ((row + 1), column))
case '-' => List((row, column - 1), (row, column + 1))
case 'L' => List((row - 1, column), (row, column + 1))
case 'J' => List((row - 1, column), (row, column - 1))
case '7' => List((row + 1, column), (row, column - 1))
case 'F' => List((row + 1, column), (row, column + 1))
case 'S' => List((-1, -1)) // marker
ืืืื ืฉืื ื ืื ืืืืข ืืืื ืกืื ืฆืื ืืจ ืืืื ืืืฉืืฆืช ืืืชืืื ืืฉืืจืชื ืืืชื ืขื ืจืฉืืื ืคืืงืืืืืช. ืืืืฉื ืืงืื ืืืืืฃ ืืช ืืจืฉืืื ืืืืช ืื ืคืขื ืืฆืื ืืจ ืืืจ ืืื ืืืฆืื ืืช ืืืขืืืื ืืฉืื ืื ืืืคืฉืจืืื ืืืืืจ ืืื ืืช ืืืจืื ืืืืชืจ.
ืืืืจ ืืื ืืคืฉืจ ืืืฉืชืืฉ ืืคืื ืงืฆืื ืืื ืขื ืงืฆืช ืงืกื ืฉื ืกืงืืื ืืื ืืื ืืช ืืช ืืืืจืืฆื:
def parseInput(input: Source): Map[(Int, Int), List[(Int, Int)]] =
input
.getLines()
.zipWithIndex
.collect {
case (line: String, index: Int) => line.toList.zipWithIndex.map((ch, column) => (index, column, ch))
}
.flatten
.flatMap { case (row, column, ch) => Map((row, column) -> connections(ch, row, column))}
.toMap
ืืืคืชื ืืื ืืคืื ืงืฆืื zipWithIndex ืฉืืืกืืคื ืืช ืืืื ืืงืกืื ืืื ื ืืฆืจืช ืืืืื ืืคืืื ืฉื ืฉืืจืืช ืืขืืืืืช.
ืืืืง ืืื ืืืืจืืื ืืคืืชืจืื ืืื ืืคืื ืงืฆืื ืืจืงืืจืกืืืืช ืฉืืืคืฉืช ืืช ืืืขืื. ืืืืคืืฉ ืืื ืืฉืืืช DFS ืืขืืจืช ืืืกื ืืช ืืื ืื ื ืืืืขืื ืฉืืฆืื ื ืืขืื ืืฉืืืขื ื ืืฆืืืช ืฉืืืจ ืจืืื ื ืืขืืจ:
@tailrec
def findCycleSizeDFS(map: Map[(Int, Int), List[(Int, Int)]],
workQueue: List[(Int, Int)],
seen: Set[(Int, Int)] = Set()): Int =
workQueue match
case start :: tail if seen.contains(start) =>
// Loop
seen.size
case start :: tail =>
val neighbors = map.getOrElse(start, List()).filterNot { p => seen.contains(p) }
findCycleSizeDFS(map, neighbors ++ workQueue, seen + start)
case Nil =>
// Dead End
0
ืืื ืืืฆืื tailrec ืืืืืื ืื ืฉืืคืื ืงืฆืื ืื ืชืฉืชืืฉ ืืืขืืช ืืืืกื ืืช ืืจืงืืจืกืื ืืชืืื ืชืืคืฉืจ ืืืคืืืืืืฆืื ืขื ืืื ืืืืงืช ืื ื ืืจืงืืจืกืื (ืจืงืืจืกืืืช ืื ื).
ืืืจื ืฉืื ืื ื ืืช ืืชืฉืชืืช ืืคืฉืจ ืืืืฉืื ื main - ืชืคืงืืื ืืจืืฅ ืขื ืื ืืืคืฉืจืืืืช ืืืฉืืฆืช ืืืชืืื ืืืืฆืื ืืช ืื ืฉืชืชื ืืช ืืืขืื ืืืืื ืืืืชืจ, ืืื ืืืืคืืก ืืช ืืืื ืืืขืื ืืืงื 2 ืืฉืืื ืืืฆืื ืืช ืืืจืืง ืฉื ืื ืงืืื ืืจืืืงื ืืืืชืจ:
@main
def day10part1(): Unit =1 420
ืื ืื ืืขืฆื Premature Optimization?
ืืฉืืืข ื ืชืงืืชื ืืืงืจื ืืคืืกื ืืฉื ืฉื ืืงืก ืฆ'ืจื ืืืง. ืืคืืกื ืืื ืืกื ืืื ืืคืจื ืืจืื ืืืืืืืช ืืืืจืื ืฉืื ืฉืื ืขืฉืืืื ืืืฉืื ืฉืื Premature Optimization ืืื ืืขืฆื ืื ืื - ืืืืืื ืืืฉืื ืขื ืืืืืจืืชื ืฉืืืฉืื ืืืจ ืื ืืฉื ืื ืืืฉืชืืฉ ืืืขืจืืช ืงืืืืช ืืืงืื ืืคืชื ืืฉืื ืืืคืก ืืฉืืฉ ืืขืจืืช ืฉืคืืชืจืช ืืช ืืืขืื.
ืืื ืื ืงืืืืช ืืคืืกื (ืชืงืจืื ืืืชื. ืืื ืืืืช ืืขื ืืื ืืื ืืืคืจ), ืขืืื ืจืขืืื ืืฉืืชืฃ ืฉืื ืืกื ืืืื ืืืฉืืื ืืจืืื ืื ืืืจ ืฉืืืื ืืืคืขืื ืืืืชืืื, ืืืื ื ื ืืฉืืื ืืืืื ืืืคืืืืืืฆืื ืืฉืืืขืช ืฉื ืขืฉืืช ืืืงืื ืืื. ืืื ืืื ืื ืื ืืืคืืืืืืฆืื ืื ื ืืืฆื ืฉืขืืืฃ ืืืืืช ืืืชื? ืขื ืื ืืงืก ืื ืืืืจ ืืื ื ืื ืกื ืืืฆืืข ืืื ืจืขืืื ืืช-
1. ืื ืืืื ืขืื ืื ืืืื ืืื ืืช ืืขืจืืช ืฉืืืื ืืืืืืืืช ืืืชืืืื ืขื ืขืืืกืื, ืืคื ื ืฉืืฉ ืื ืืงืืืืช ืื ืฆืคื ืืขืืืกืื.
2. ืื ืืืื ืขืื ืื ืืืื ืืฉืคืจ ืืช ืืื ืืืขืื ื ืฉื ืืืชืจ ืื ืขืืืื ืืฉ ืื ืืืืื ืืืื ืื ื ืคืชื ืืืืง ืืืืคืืคื ืื.
3. ืื ืืืื ืขืื ืื ืืืื ืืืืกืืฃ 2FA (ืืืคืืืืืืฆืื ืืื ืื ืื ืืืืืช ืืฉืชืืฉืื) ืื ืขืืืื ืืื ืื ืืกืคืืง ืืฉืชืืฉืื ืื ืฉืืื ืืืืข ืจืืืฉ ืืฉืืืจ ืืืขืจืืช.
4. ืื ืืืื ืขืื ืื ืืืื ืืืฆืืจ ืืืกืืจืงืฆืื ืืืฉื ืืงืื, ืืคื ื ืฉืื ืื ื ืืืื ืื ืื ืืืื ืืืื ื ืืกืืคื ืฉืื ืืขื ืืืื ืฉืื ืืืื ืืืจืืฉืืช ืขืื ื ืฆืืจื ืืืชืืืื.
ืืกืืคืืจ ืฉื Premature Optimization ืืื ืงืืื ืื ืกืืคืืจ ืฉื ืคืืงืืก ืืกืืจื ืขืืืคืืืืช. ืื ืื ื ื ืืื ืฉืืฉ ืื ื Premature Optimization ืืฉืื ืื ื ืืชืงื ืื ืืช ืืืืจืื ืืื ื ืืื ืื ืืืขืจืืช ืืืงืื ืืืชืจืื ืืืขืืืช ืืืืืืืช ืฉืื, ืืืืืจ ืืืช ืคืืืช ืฉืืื ืฉื "ืืื" ืืืืชืจ ืฉืืื ืฉื "ืื", ืืืฉืื ืืงืืช ืืืฉืืื ืืช ืืขืืืืืช.
ืืฆืืจืช ืืืกืืจืงืฆืื ืืงืื ืฉืคืืชืจืช ืืฆืืจื ืืืื ืืืช ืืขืื ืืืื ืขืืืื ืืืืืช Premature Optimization ืืืื ืฉืืืื ืืืชื ืืืื ืื ื ืงืฉื ืืืชืืืื ืขื ืืจืืฉืืช ืืืฉืืช ืืขืชืื.
ืชืืกืคืช ืฉื ืฉืจืช Memcache ืืื ืืฉืคืจ ืืืฆืืขืื ืขืืืื ืืืืืช Premature Optimization ืื ืชืืกืคืช ืืืื ื ืืืจืจืช ืขืืืช ืชืคืขืื, ืืฉืจืช ืืืื ืืืคืื, ืฆืจืื ืืืชืงืื ืืืจืกื ืืืฉื ืืืืืืืจ ืืคืืจืฆืืช ืืงืื ืคืืืืจืฆืื ืื ื ืืื ื ืื ืคืืื ืฉื ืืฉืจืช ืืืืื ืืืฆืืจ ืชืืืืช ืฉืจืฉืจืช ืฉืชืคืื ืืช ืื ืืืขืจืืช. ืื ืืื ืื ืขืืืื ืืขืืืช ืืืฆืืขืื ืฉืืืจืฉืืช Cache ืื ื ืจืง ืืฉืื ืืช ืืืืืจ ืืื ืืงืื ืชืืืจื ืืฉืืขืืชืืช.
ืืฆืืจืช ืื ืื ืื ืืืืืช ืืืืืื ืืืชืจ ืขืืืื ืืืืืช Premature Optimization ืื ืืืงืืืืช ืฉืื ืืืื ืื ืฆืจืืืื ืืช ืืื ืื ืื ืืืชืืืื, ืืืื ืืืื ืืคืืืข ืืื ืื ืืกืืก ืื ืืืืข ืื ืฉืืืืืคื ืืืคืื ืืฉืืื ืืืขืืืจ ืืช ืืคืืืงืฆืืืช ื Authenticator ืืืืฉืืจ ืืืืฉ.
ืืฉืืจื ืืชืืชืื ื ืืืคืชื ืืืื ื ืืื Premature Optimization ืืืื ืืืื ืช ืืขืืืช ืฉื ืืคืืฆ'ืจ ืื ืืื ืื ืื, ืืืื ืขืืืช ืืคืืชืื ืื ืืชืืืืงื ืฉื ืืืชื ืคืืฆ'ืจ, ืืืื ืืชืืืจื ืฉืืงืื ืืืืชื ืคืืชืื ืฉืืื ืืช ืืืืืจ.
1 420
ืืืืื ืืืกืืืืช ืืื ื ืืื ืืช?
ืืฉืืืืืชื ืงืืจืกืื ืฉื ืืกืื ืืชืื ืืช ืืื ืฉืื ืืื ืจืงืข ืงืืื ืืคืืชืื ืืื ืืืืจืื ืฉืืคืชืืขื ืืืชื ืืื ืืกืืืืช ืืฉืื ืืช ืืืืื ืื ืฉืื ืืืื ืืืืื. ืืจืืจ ืืื ืืช ืืื ืฉืืืืจืื ืืืืฉื ืืชืืื ืืืื ืืืขืช ืืชืื ืช, ืืื ืืื ืื ืืืื ืกืืืืช ืืืจืืช - ืื ืฉืื ืฉืืืื ืืืืื ืชืื ืืช ืืื ืืืชืื ืืื ืคืจืืืงื ืฉืชืืื ืืืื ืขืืื, ืื ืฉืื ืฉืจืืฆืื ืืคืชืื ืกืืืจืืืค ืืื ืืืืื ืืืฉ ืืื ืจืขืืื ืคืฆืฆื ืืื ืื ืืืืขืื ืืื ืืืืฉื ืืืชื, ืื ืฉืื ืฉืืืืืื ืืืืืช ื ืืืืื ืืืืืืืืื ืื ืืืื ืฉืจืืฆืื ืืืจืืืื ืืืชืจ ืืขืืืื (ืื ืืื ืืืช ืืฉืืืจืช ืืืืืง ืืื).
ืืจืื ืืืงืจืื ืื ืื ื ืืืจ ืืื.
ืื ืฉืื ืฉืืืคืฉืื ืขืืืื ืฉืืื ืืกื ืืืชืจ ืืกืฃ ืืืืื ืืืจื ืืฆื ืฉื ื ืฉื ืืืืื ืฉืืขืฆื ืชืื ืืช ืื ืื ืืื ืคืฉืื ืืื ืืืจื ืฉืื ืขืฉื ืืืื ืืืืฅ ืื ืื ืืฆืืืืื ืืืฆืื ืขืืืื. ืื ืฉืื ืฉืืืคืฉืื ืืื ืืช ืืืฆืจ ืืื ืืืืื ืืืคืก ืืืืื ืืื ืืฉืงืขื ืื ืืฆืืจืื ืืื ืืืช ืืืืฆืจ (ืืืจื ืืงืืจืก) ืืืชืืืืฉืื ืืคื ื ืฉืืฉ ืืฉืื ืืืืืืจ. ืื ืฉืื ืฉืืืืืื ืืืืืช ื ืืืืื ืืืืืืืืื ืขื ืกืืฃ ืืงืืจืก (ืฉืืืื ืืืืืฉื ืื ืฉื ื) ืืชืืชื ืื ืืืชืืกืืื. ืืื ืืชืื ืืืชื ืฉื ืขืฉืจืื ืืืฉืื ืืฉืชืชืคืื ืจืง ืืขืืื ืืกืืืืื ืืช ืืงืืจืก ืืขืืืื ืืชืืืฆืื ืืืฉืชืื ืืืงืฆืืข.
ืืื ืืืืื ืืฉืืฉืืชื ืืื ืืช ืืชืจ ืงืืจืกืื ืืืช ืืืืืืืช ืืจืืฉืื ืืช ืฉืื ืืืชื ืืื ืืช ืืช ืืืชืจ ืจืง ืืื ืฉืื ืฉืืืจ ืืืืขืื ืชืื ืืช, ืืืืืง ืืฉืืื ืืืกืื ืืืืื ืืช ืืื ืืื ืฉื ืืืืื ืืจืื ืืืกืืคื ืืชืคืืืืช ืืืืืช. ื ืชืชื ืืคืกืืืืืช ืื ืฆื ืืืืชืจืชื ืืจืืฉ ืขื ืืืชื ืื ืฉืื ืฉืืกืืืืืื ืฉืืื ืืืชืืื ื ืจืื ืื ื ืืืืื.
ืืืื ืื ื ืืืฉื ืฉืืฉ ืืจื ืืืื ืืืชืจ.
ืืืขืื ืขื ืงืืจืกื ืืืกืื ืืื ืฉืื ืืืื ืืืืืืื. ืื ืฉืื ืืืืจ ืชืื ืืช ืืืื ืขืฉืื ืืืืฆืื ืืืขื ืขืฉืจืื ืืืฃ ืฉ"ื ืขื ืงืืจืก ืฉื ืฉื ื, ืืื ืืืขืช ืื ืืกืืฃ ืืงืืจืก ืืื ืืืืช ืืขืืื ืืชืืื. ืื ืืชื ืืชืืืืช ืืืจื ืืืชืืืืื ืื ืชืื ืืช ืื ืืฉืืืืื, ืืฉืงืขื ืืืืช ื ืจืืืช ืืคืืืื ืืืฆืืง. ืืจื ืืืื ืืืชืจ ืืื ืืืงืื ืืืชืืืจ ืืืืืืืช ืืืชืงืื ืืืชื ืฆืขื ืฆืขื, ืืืืืจ:
1. ืืืืื ืชืื ืืช ืืื ืืืืื ืืจื ื ืคืขื ืืฉืืืข, ืืงืื ื.
2. ืืื ืืช ืืขืฆืื ืืฉืื ืฉืืขื ืืื ืืืชื, ืื ืื ืื ืืืงื ืืืื ืืื.
3. ืืืชืืืก ืืืืืื ืืื ืืืื ืื ืืชืืืื, ืืฉืื ืฉืืคืฉืจ ืืขืฉืืช ืืื ืืืคืกืืง ืืื ืืืืืจ ืืื ืืืจื ืืืืฉืืื ืืืื ืืกืืจ.
4. ืืงืืช ืืช ืืืืืื ืืคืจืืคืืจืฆืื, ืืคืืืช ืขื ืฉื ืืื ืืืืืื.
ืื ืืืืชื ืืชืืื ืืืื ืืชืจ ืงืืจืกืื ืืืคืก ืืืืชื ืฉืื ืืื ืืช ืืฉืื ืืฆืจืืื ืงืื ืืชืืจ ืชืืืื, ืืฉืื ืฉืืืืืื ืฉืื ืืื ืืืืืื ืื ืกืืช - ืฉืืขืืจืื ืงืฆืจืื ืขื ืืืฉื ืืฉืืืื ืฉืืขืืจื ืืืืื (ืืกืื ืื ืคืืืงืกื ืฉืืคืฉืจ ืืฉืืืข ืืืืจื), ืืืื ืืืืืืืช ืืชืจืืื ืขืฆืื ืืืืขื ืืื ืืืืืจ ื"ืืจื ืืื" ืฉื ืืืื. ืื ืืืืจื ืืืื ืชืื ืืช ืืื ืืืืจื ืืืจืืืช ืื ืื ืชืื ืืช ืืืื ืื ืืืฃ, ืืคื ื ืฉืฆืืืืื ืืืืจืื ืืงืฉืื.
1 420
ืืืชื ืืคืฉืจื
"ืืืชื ืืคืฉืจื" ืื "ืื ื ืื ืืืื ืืืืืื ืืช ืื"?
ืจืขืืื ืืช ืืืชื ืืคืฉืจืืื ืฉืืื ืืืจืืง ืืืืคืกืืง ืืืฉืื ืขืืืื.
ืืืื ืจืขืืื ืืช ืฉืื ืืคืฉืจ ืืืืืื ืืืชื ืฉืืื ืืืื ืืช ืืืืืื. ืจืง ืืืื ืฉืืืื ืื ื ืื ืืฆืืื ืืืืืื ืืฉืื ืื ืืืืจ ืฉืืื ืื ืืคืฉืจื ืขืืืจื, ืืืื ืืื ืื ืืืืืืช ืจืง ืืืื ืืขืืืช ืืืืื.
ืืืค ืืืืื - ืืืื ื ืขืื ืืช ืจืฃ ืืืืืื ืืคื ื ืฉืืืจืืืื ืขื ืจืขืืื "ืืืชื ืืคืฉืจื". ืจืื ืืืื "ืื ื ืขืืืื ืื ืืฆืืื ืืืืืื ืืช ืื" ืืขืืื ืืื ืืืชืจ.
1 420
ืชืจืืื ืคืืืชืื: ืืื ืคืืืขื ืขื ืืืจืืช
ืืืฉืืง ืืื ืคืืืขื ืืฉืชืืฉ ืืื ืืืืจ ืืกืคืจ ืืืฉื ื ืฆืจืื ืื ืืฉ ืืื, ืืืฉืจ ืืื ืกืืืื ืืจืื ืืื ืืื ืกืคืจืืช ืืืคืืขืืช ืืืกืคืจ ืืกืืื ืืืงืื ืืืจ ืืื ืืืืฉ, ืืืื ืกืคืจืืช ืืืคืืขืืช ืืืกืคืจ ืืกืืื ืืืืืง ืืืืชื ืืงืื (ืืฉื ื ืืืงืจืื ืืื ืืืืืช ืืืื ืกืคืจืืช ืืืคืืขืืช ืืืคื). ืืืืจืกื ืฉื ืืืฉืืง ืขื ืืืจืืช ืกืืคืจื ืืืืื ืืืืคืืข ืืื ืคืขืืื ืืืกืคืจ ืืกืืื, ืืฆืจืื ืืงืืช ืืช ืื ืืืฉืืื ืืฉืืืืืจืื ืชืฉืืื ืืืฉืชืืฉ ืฉืื ืืฉ. ืืืื ื ืจืื ืืช ืืืชืืจืื ืืื ืืช ืืคืืชืจืื ืืคืืืชืื.
ืืื ืืืจืืช ืื ืื ืื ืืกืืื
ืืืืืจืืชื ื ืืืื ืืืืฉืื "ืืื ืกืคืจืืช ืืืงืื ืื ืืื" ื"ืืื ืกืคืจืืช ืืืงืื ืืื ื ืืื" ืืืื ืืืืืชื ืืชืืจ ืืืืื ืืคืืื:
blacks = 0
whites = 0
for idx1, i in enumerate(str(value)):
for idx2, j in enumerate(str(other)):
if i == j:
if idx1 == idx2:
blacks += 1
else:
whites += 1
ืืืฉืจ whites ืืืืฆื ืืช ืืกืคืจ ืืกืคืจืืช ืืืงืื ืืื ื ืืื, ื blacks ืืช ืืกืคืจ ืืกืคืจืืช ืฉื ืืฆืืืช ืืืืืง ืืืงืื ืื ืืื ืืื ืฉื ื ืืกืคืจืื - ืืืื ืฉืืืจ ืืืฉืชื ื value ืืืฉื ื ืืืฉืชื ื other.
ืืื ืืืืื ืืืืช ืืืจ ืื ืขืืืืช ืื ืืฉ ืืืจืืช, ืืืื ืฉืื ืื ื ืืงืืืื ืืืชืจ ืืื "ืืื ืื". ืืืฉืื ืขื ืฉื ื ืืืกืคืจืื 112 ื 221 - ืื ืื ืืืืฉ ืืกืืื ืืื 221 ืืืืฉืื ืื ืกื ืื ืืฉ ืืช ืืืกืคืจ 112 ืขืืื ื ืืขื ืืช ืื ืฉืืฉ ืื ืฉื ื ืืกืคืจืื ืืืงืื ืืื ื ืืื ืืืื.
ืคืืชืจืื ืืคืืืชืื ืฉืืชืืืื ืื ืขื ืืคืืืืืืช
ืืฉืืื ืืืฉื ืืช ืืกืคืจ ืืืื ืื ืืืฉืืืจืื ืขื ืืคืืืืืืช ืขืืื ื ืืงืืช ืืืฉืืื ืฉืื ืกืืคืจื ืืืืื "ืืืฉืคืืข" ืจืง ืคืขื ืืืช. ืืจื ืืืช ืืืฉืช ืืื ืชืืื ืืฉืืืจ ืืช ืืืื ืืงืกืื ืฉื ืื ืกืืคืจื ืืืืืื ืืืฉืจ ืืืคืชื ืืื ืืกืืคืจื ืืืขืจื ืืื ืงืืืฆืช ืื ืืืื ืืงืกืื ืฉืื.
ืืืืฆืื ืืื ืืคืฉืจ ืืืฉื ืืช ืืฉืืืจืื ืืชืืจ ืงืืืฆืช ืืืืชืื ืฉื ืฉืชื ืงืืืฆืืช ืืืื ืืงืกืื, ืืืฉืืื ืืืื ืื ื ืืจืื ืืฉืชื ืืงืืืฆืืช ืืช ืงืืืฆืช ืืืืชืื (ืื ืืฉืชืืฉื ื ืื ืืืจ ืืฉืืื ืืฉืืืจืื) ืื ืืงื ืืช ืืืื ืืงืืืฆื ืืงืื ืืฉืชืืื. ืงืื? ืืจืืจ:
class Guess:
def __init__(self, value: int):
digitgroups = itertools.groupby(
sorted(list(enumerate(str(value))), key=lambda m: m[1]),
lambda m: m[1])
self.value = {
k: set([i[0] for i in v])
for k, v in digitgroups
}
def compare(self, other: "Guess") -> Result:
white = 0
black = 0
for digit in self.value.keys():
if digit in other.value:
intersection = self.value[digit].intersection(other.value[digit])
black += len(intersection)
white += min(len(self.value[digit] - intersection), len(other.value[digit] - intersection))
return Result(white=white, black=black)
ืืขืืฉืื ืืืฉืืืื ื ืืชื ืช ืืช ืืชืืฆืื ืื ืืื ื:
g1 = Guess(112)
g2 = Guess(221)
* prints: Result(white=2, black=0) *
print(g1.compare(g2))
ืืฉ ืืื ืจืขืืื ืืช ื ืืกืคืื? ืืืื ืืืืื ืืืชืจ? ืืชื ืืืจ ืืืืขืื ืื ืืขืฉืืช - ืืืืืงื ืืื ืืชืืืืืช ืื ืืืืืจื.1 420
ืืื ืืืชืื ืืืืงืืช?
1. ืืืืงืืช ืขืืืจืืช ืืืืก ืฉืื ืืืจืืืฉ ืืื.
2. ืืืืงืืช ืขืืืจืืช ืื ืืืืื ืืช ืืืขืื ืืื ืืืชืจ ืืคื ื ืฉืืชืืื ืืืชืื ืงืื.
3. ืืืืงืืช ืฉืืืจืืช ืขืืื ืืืืจื ืืฆืืืช ืืืืืืื ืฉืื ืฉืจืง ืืื ืืกืื ืืืืื ืืืขืจืืช.
4. ืืืืงืืช ืฉืืืจืืช ืขืืื ืืืขืืืืช ืืคืฉืืืช ืฉืืขืฉื ืืขืชืื ืฉืืฉืืจื ืื ืื ืื ืื ืฉืื ืืชื.
5. ืืืืงืืช ืืืคืฉืจืืช ืื ืืคืชื ืคืืฆ'ืจืื ืืืฉืื ืืืจ ืืืชืจ ืื ืืจืฆืช ืืืืืงืืช ืืืืจื ืืืชืจ ืืืจืฆืช ืืืขืจืืช ืืกืืืื ืืืืืชืืช.
ืืื ืืคืฉืจ ืืืืืจ ืืืชืจ ืืชืฉืืื ืืืช, ืืื ืื ืื ืืฉืื. ืืืชืจ ืืขื ืืื ืืืืืื ืืื ื ืจืืืช ืืืืืงืืช ืขืฆืื, ืืื ื ืจืืืช ืืืืงืืช ืฉืื ืื ื ืืืชืืื ืืื ืืฉืื ืืช ืืืืก, ืืขืืืช ืืืืงืืช ืฉืขืืืจืืช ืื ื ืืืชืื ืงืื ืืืจ ืืืชืจ, ืืขื ืืืื ืกืื ืืขืจืืช ืืืื ื ืืขืืืคืื ืืขืืื.
1 420
ืืจืื ืฉื ืืืฉืจ
ืืืจื ืืืืฆื ืืืืืจ ืืืฉืจ ืืฉ ืืขืื ืืืช ืืืื ืืช (ืคืจืื'ืจื, ืืฉืืื ืืืืืืจื ืืื"ืืืช) ืืฉื ืืืฉืจ ืขื ืฉืื ืืืืื "ืืจืื ืฉื ืืืฉืจ ืืืจ ืืขืืช?"
ืืื ื ืื ืคืขื ืขืืจืชื ืฉื ืืจืฆืืชื ืืืขืื, ืืื ืคืขื ืืืช ืืืจืื ื ืจืื ืืงืจ ืืื, ืืคืขื ืืืจืช ืืื ืื ื ืจืื ืืกืคืืง ืืจื, ืืขืื ืคืขื ืืืืืง ืื ืืืืชื ืืืฆื ืจืื ืืืจืื ืืืื ื ืืืื ืขืืืจืื ืืืืื ืืืืขืชื ืฉืื ืคืขื ืฉืื ื ืขืืืจ ืืื ืืคืจืืื'ืจื ืื ื ืืกืจื ืืืืืื ืืช ืืื ืืฉืืืจ ืืช ืืืืช ืคืชืืื. ื"ืื" ืืื ืืกื ืืื "ืื ืืืื", ืืื ืื ืชืืื ืืืฉืจ ืืืจ ื ื ืกื ืฉืื. ืืืฉืืคืกืงืชื ืืืืื ืืืฆืจื ืืื ืจืฆืืชื ืืืกืชืื ืืืืจื ืืืืืื "ืจืืข, ืื ืขื ืืืจืื?" ื"ืืฉ ืื ืคื ืืืืื ืืช ืฉืืืื" ืืื ืื ืืืจ ืืื ืืืืืจ ืืื. ืืช ืืืจืื ืฉื ืืืฉืจ ืื ื ืืืจ ืื ืืืื.
ื ืืืจืชื ืืืืฉืจ ืืฉืืกืชืืืชื ืฉืื ืขื ืงืืจืก ืืงืฆืืขื ืฉืจืฆืืชื ืืขืฉืืช, ืืืื ืืื ื ืกืืืืช ืื ืืฆืืชื ืืช ืืืืืื ืืช. ืืคืขื ืื ืื ืื ื ืฉืืฉืชื ืืชื ืืื ืืงืืจืก ืฉืืจื ืืืืืืืจ.
ืืจืง ืกืืืจืก ืืืจ Hell Yeah Or No ืืืจืื ืืื ืฉืืขืชื ืืืชื ืืื ืืจืืฉ ืฉืื ืื ืืื Hell Yeah or Not Now. ืืื ืืืืช ืฉื No ืฉื ืืจืง ืืจืื ืืืชืจ ืขืืืจ ืืคืืงืืก. ืื ืจืืฆื? ืชืืฉืื ืืืื, ืืื ืืื. ืืืืชื ื ืืืืืื ืืืืช ืืืืืช ืืืชืจ ืจืง ืืืืืืช.
ยกYa disponible! Investigaciรณn de Telegram 2025 โ los principales insights del aรฑo 
