1589, 1/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ÇØÅ·ÀßÇÏ°í½Í´Ù
   http://¾øÀ½
   random.png (231.9 KB), Download : 4     [¿À¸¥ÂÊ ¹öÆ° ´­·¯ ´Ù¿î ¹Þ±â]
   ÆÄÀ̽ã random¸ðµâÀ» ÀÌ¿ëÇÑ ¼ýÀÚ¸ÂÃ߱⠰ÔÀÓ ±¸Çö

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=8580 [º¹»ç]



ÁïÈïÀûÀ¸·Î ÆÄÀ̽㠼ýÀÚ¸ÂÃ߱⠰ÔÀÓÀ» ±¸ÇöÇغôÙ.
ÀÌ °­Á¿¡¼­´Â ¾Æ·¡ÀÇ Ã¤Æà ÇÁ·Î±×·¥ ¸¸µé±â ¼Ò½º¸¦ ¾à°¾ º¯ÇüÇÏ°í
Ãß°¡Çؼ­ ÇÁ·Î±×·¥À» ¿Ï¼º½ÃÄ×´Ù. (»ç½Ç º°°Å ¾Æ´Ï´Ù...)

¼Ò½º Äڵ带 ÷ºÎÇÏ°Ú´Ù.




=====server.py=====
import random
import socket

host = '127.0.0.1'
port = 44444

parent_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP)
parent_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

parent_sock.bind((host, port))
parent_sock.listen(5)
print(f'Server IP: {host}, Port Num: {port} excuting to server...')

child_sock, child_addr = parent_sock.accept()
print(f'accept from {child_addr}')

rand_ans = random.randint(1, 100) # 'Generate a random number between 1 and 100
while True:
    answer = int(child_sock.recv(4))
    if answer > rand_ans:
        child_sock.send("The input value is greater than the correct answer".encode('utf-8'))

    elif answer < rand_ans:
        child_sock.send("The input value is less than the correct answer".encode('utf-8'))
  
    else:
        child_sock.send("Right, You finally got it!".encode('utf-8'))
        break
child_sock.close()
parent_sock.close()
==========







=====client.py=====
import socket

server_host = '127.0.0.1' # Loopback address
server_port = 44444

client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

# connect to server
client_sock.connect((server_host, server_port))
print(f'Server: {server_host}, {server_port} Connect nomarlly')

count = 1

while True:
    message = input("please enter integer between 1 to 100>>> ")
    client_sock.sendall(message.encode('utf-8'))
    message = client_sock.recv(256)
    print(f"server : {message.decode()}")
    if message == "Right, You finally got it!".encode('utf-8'):
        break
    count = count + 1

print("count : ", count)
client_sock.close()
===========




Almost all module functions depend on the basic function random(), which generates a random float uniformly in the half-open range 0.0 <= X < 1.0. Python uses the Mersenne Twister as the core generator. It produces 53-bit precision floats and has a period of 2**19937-1. The underlying implementation in C is both fast and threadsafe. The Mersenne Twister is one of the most extensively tested random number generators in existence. However, being completely deterministic, it is not suitable for all purposes, and is completely unsuitable for cryptographic purposes.

Çؼ®

°ÅÀÇ ¸ðµç ¸ðµâ ÇÔ¼ö´Â ±âº» ÇÔ¼ö random()¿¡ ÀÇÁ¸ÇÑ´Ù.
ÀÌ ÇÔ¼ö´Â ¹ÝÀ¸·Î ¿­¸° ¹üÀ§¿¡¼­ ±ÕÀÏÇÏ°Ô ·£´ýÇÑ ºÎµ¿ ¼Ò¼öÁ¡À» »ý¼ºÇÑ´Ù.
Áï, 0.0 ÀÌ»óÀÌ°í 1.0 ¹Ì¸¸ÀÌ´Ù.
ÆÄÀ̽ãÀº Mersenne Twister¸¦ ÇÙ½É »ý¼º±â·Î »ç¿ëÇÑ´Ù.
ÀÌ´Â 53ºñÆ® Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡À» »ý¼ºÇϸç 2**19937-1ÀÇ Áֱ⸦ °¡Áö°í ÀÖ´Ù.
C·Î ±¸ÇöµÈ ÇϺΠ±¸ÇöÀº ºü¸£°í ½º·¹µå ¾ÈÀüÇÏ´Ù.
Mersenne Twister´Â Á¸ÀçÇÏ´Â °¡Àå öÀúÇÏ°Ô Å×½ºÆ®µÈ ³­¼ö »ý¼º±â Áß Çϳª´Ù.
±×·¯³ª ¿ÏÀüÈ÷ °áÁ¤·ÐÀûÀ̱⠶§¹®¿¡ ¸ðµç ¿ëµµ¿¡ ÀûÇÕÇÏÁö ¾ÊÀ¸¸ç,
¾Ïȣȭ ¿ëµµ·Î´Â ÀüÇô ÀûÇÕÇÏÁö ¾Ê´Ù.










ÆÄÀ̽ãÀÇ ·£´ý ¸ðµâÀ» ÀÌ¿ëÇÏ¿© ¼ýÀÚ ¸ÂÃ߱⠰ÔÀÓÀ» ¸¸µé¾ú´Ù.
rand_ans = random.randint(1, 100) # 'Generate a random number between 1 and 100
1ÀÌ»ó 100ÀÌÇÏÀÇ ¼ýÀÚ¸¦ ¹«ÀÛÀ§·Î »ý¼ºÇؼ­ rand_ans º¯¼ö¿¡ ÀúÀåÇÑ´Ù.
·£´ýÀ¸·Î ¹Þ´Â ³­¼ö »©°ï º°°Å ¾ø´Â °Å¶ó¼­ ´õ ÀÌ»óÀÇ ¼³¸íÀÌ ÇÊ¿ä¾øÀ» µí ÇÏ´Ù.

  Hit : 830     Date : 2024/05/30 12:36



    
     [°øÁö] °­Á¸¦ ¿Ã¸®½Ç ¶§´Â ¸»¸Ó¸®¸¦ ´Þ¾ÆÁÖ¼¼¿ä^¤Ñ^ [29] ¸Û¸Û 02/27 19346
1588   [pwnable.kr] cmd1 °ø·«     ÇØÅ·ÀßÇÏ°í½Í´Ù
10/23 73
1587   netdiscover ÆÄÀ̽ãÀ¸·Î ±¸ÇöÇϱ⠠   ÇØÅ·ÀßÇÏ°í½Í´Ù
08/13 377
1586   ÆÄÀ̽ãÀ» ÀÌ¿ëÇÑ ½ÉÇà À¥ Å©·Ñ·¯     ÇØÅ·ÀßÇÏ°í½Í´Ù
08/13 283
  ÆÄÀ̽ã random¸ðµâÀ» ÀÌ¿ëÇÑ ¼ýÀÚ¸ÂÃ߱⠰ÔÀÓ ±¸Çö     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/30 829
1584   ÆÄÀ̽ã äÆà ÇÁ·Î±×·¥ ±¸Çö     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/28 733
1583   ÆÄÀ̽㠼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀÇ ±âÃÊ     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/26 816
1582   ¸®´ª½º À¥ ·Î±× ºÐ¼®     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/20 562
1581   ¸®´ª½º/À©µµ¿ì º¸¾È Àåºñ ·Î±×     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/20 688
1580   °í¼ö´ÔµéÀÇ µµ¿òÀ» ¹Þ°í ½Í½À´Ï´Ù     vbnm111
02/11 804
1579   ¸®´ª½º Ä¿³Î 2.6 ¹öÀü ÀÌÈÄÀÇ LKM     jdo
07/25 1338
1578   ½©ÄÚµå ¸ðÀ½     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/15 2182
1577   Call by value VS Call by Reference     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/15 1522
1576   (²Ä¼ö) L.O.B Çѹ濡 Ŭ¸®¾îÇϱâ[2]     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/14 1935
1575   towelroot.c (zip) ÄÚ¸àÆÃ.[1]     scube
08/18 4461
1574   levitator.c (¾Èµå·ÎÀÌµå ·çÆÃ) °ø°Ý ºÐ¼® ¼Ò½º ÄÚµå °øÀ¯.[4]     scube
08/17 4301
1573   ¹«·á Á¤º¸º¸¾È ±â¼úÀÎÀç ¾ç¼º °úÁ¤ ±³À°»ý ¸ðÁý     chanjung111
06/17 5170
1572   K-Shield ÁִϾî 5±â ¸ðÁý     lrtk
06/17 4907
1571   [ÆÁ] ÆÄÀ̽ã 2¼Ò½º¸¦ 3À¸·Î º¯°æÇØÁÖ´Â »çÀÌÆ®[3]     ÇѽÂÀç
05/13 4545
1570   ±¸±Û ¹é¸µÅ© ÀÛ¾÷ Áú¹®¿ä     wkatnxka
03/30 3941
1 [2][3][4][5][6][7][8][9][10]..[80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org