تمرين إعادة البناء
مولد رمز شبكي نصي
أنشئ رمزاً شبكياً نصياً ثابتاً من أي نص بدون مكتبات خارجية.
python
~15 دقيقة
مبتدئ
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
import argparse
import hashlib
def grid_bits(text: str, size: int) -> list[list[bool]]:
digest = hashlib.sha256(text.encode("utf-8")).digest()
bits = []
for byte in digest:
bits.extend(bool(byte & (1 << shift)) for shift in range(7, -1, -1))
return [[bits[(row * size + col) % len(bits)] for col in range(size)] for row in range(size)]
def render_grid(text: str, size: int = 21) -> str:
rows = []
for row in grid_bits(text, size):
rows.append("".join("██" if cell else " " for cell in row))
return "\n".join(rows)
def main() -> None:
parser = argparse.ArgumentParser(description="Render a deterministic text grid from input.")
parser.add_argument("text")
parser.add_argument("--size", type=int, default=21)
args = parser.parse_args()
print(render_grid(args.text, args.size))
if __name__ == "__main__":
main()اكتب هنا