<jupyter_start><jupyter_text>What I Learned<jupyter_code># create empty list  

emty_list = [None] * 3
emty_list
# Create reculsion(순환) function // 순환에러 나지 않도록 주의

def reculse(count):
    if count <= 0:
        pass
    else:
        print(' *')
        reculse(count-1)
reculse(5)
# random, time 

import random 
import time


random.seed(time.time())  # 현재 시간을 시드로 함, 항상 같은 조건에서 랜덤하게 나오도록

random.randint(1,100)  # 1에서 100사이 랜덤한 정수를 출력하라 
# Create N! Using reculsion function ( 3! = 3 *  2 * 1)

def factorial(n):
    
    if n <= 1:
        return 1 

    else: 
        return(n*factorial(n-1))    # 계속해서 팩토리얼로 들어가게 해서 
# Create N! Using for statement 

# 순환보다는 반복문으로 변환해서 짜는게 수행속도, 메모리 사용 측면에서 효율적이다.

def factorial_for(n):
    
    factorial = 1
    for i in range(1,n)
        factorial *= i   # factorial = factorial * i 
    return(factorial)
# 내가 짠 더러운 코드 ^^ ;;

def my_factorial_for(n):
    
    if n <=1:
        return 1
    else:
        result = 1
        for i in range(n-1):
            result = result * n
            n = n-1
        return(result)
factorial(4)  # 4 = 4 * 3 * 2 * 1 = 24 
factorial_for(4)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10928013876843018, 'fraction_numerical': 0.030355594102341718, 'mean_word_length': 2.1790633608815426, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '647402', 'license': 'MIT', 'n_tokens_mistral': 568, 'n_tokens_neox': 610, 'n_words': 131, 'path': 'DataStructure_python.ipynb', 'repo_name': 'BLUENCE/TIL', 'size': '1153'}