base on null # 🍩 donut.py The first-ever `donut.c` Python clone that *looks like a donut*! ```python while ('o_' in dir()) or (A := (0) ) or (B := 0) or print(( "\x1b[2J")) or not ((sin := (( __import__('math'))).sin)) or not ( cos := __import__('math').cos) or (o_ := ( True)): [pr() for b in [[(func(), b) for ((z )) in [[0 for _ in range(1760)]] for b in [[ ( "\n") if ii % 80 == 79 else " " for ii in range( 1760)]] for o, D, N in [(o, D, N) for j in range(( 0), 628, 7) for i in range(0, 628, 2) for (c, d, e,( f), g, l, m, n) in [(sin( i / 100), cos(j / 100),( sin(A)), sin(j / 100), cos(A), cos(i / 100) , cos(B), sin(B))] for (h) in [d + 2] for ( D, t) in [ (1 / ( c * h * e + f * g + (5 )), c * h * g - f * e)] for (x, y) in [ (int( 40 + 30 * D * ( l * h * m - t * n)), int( 12 + 15 * D * ( l * h * n + t * (m))))] for (o, N) in [(x + 80 * y,int(8 * (( f * e - c * d * g) * m - c * d * e - f * g - l * d * n)))] if 0 < x < 80 and 22 > y > 0] if D > z[o] for func in [lambda: (z.pop((o))), lambda: z.insert((o), (D) ),(lambda: (b.pop( o))), lambda: b.insert((o), ".,-~:;=!*#$@"[ N if N > 0 else 0])]][ 0][1] ] for pr in [lambda: print("\x1b[H"), lambda: print("".join(b))] if (A := A + 0.02) and ( B := B + 0.02)] #..--~~EvanZhouDev:~~--.# #...,2023,...# ``` Run with: ``` python3 donut.py ``` Original `donut.c` idea from [Andy Sloane's blog](https://www.a1k0n.net/2011/07/20/donut-math.html). Original one-line `donut.py` implementation by [Julius Syvis's DonutPy](https://github.com/Julius-Syvis/DonutPy). If the donut looks vertically stretched, then you may need to adjust your font to be a square font, or just modify line width and font spacing.", Assign "at most 3 tags" to the expected json: {"id":"3493","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"