
    ѮgZ                     $    d Z d Z	 d Z	 d Zd Zy)z
Problem 1:

c                      t        |       S )z
    Accepts any number of keyword arguments and returns the count of them.

    :param kwargs: Arbitrary keyword arguments.
    :return: The number of keyword arguments passed in.
    )len)kwargss    @c:\WORK\www\ai.huynhdous.com\UCI\Inter_Python\week_3_homework.pyall_the_kwargsr      s     v;    c              #   :   K   t        | dz         D ]  }|  yw)z
    Generates numbers from 0 through N (inclusive).

    :param N: The upper limit of the range (inclusive).
    :yield: Numbers from 0 to N.
       Nrange)Nnums     r   number_generatorr      s$      QqSz 	s   c              #   X   K   d\  }}}t        |       D ]  }| ||||z   |z   }}} yw)aL  
    Generates the first N numbers of a sequence similar to the Fibonacci sequence,
    where each number (after the first three) is the sum of the previous three numbers.

    The sequence starts with: 0, 1, 1.

    :param N: The number of terms to generate.
    :yield: The first N numbers of the modified Fibonacci sequence.
    )    r	   r	   Nr
   )r   abc_s        r   almost_fibonaccir      s@      GAq!1X "QA	a1"s   (*c              #      K   t        | dd      5 }|D ]*  }|j                         j                         }|s$|d    , 	 ddd       y# 1 sw Y   yxY ww)z
    Reads a file line by line and yields the first word of each line.

    :param filepath: The path to the file to be read.
    :yield: The first word of each line, if present.
    rzutf-8)encodingr   N)openstripsplit)filepathfilelinewordss       r   first_word_of_each_liner    /   sY      
hg	. $ 	DJJL&&(EAh	  s!   A&A	A	AAAN)__doc__r   r   r   r     r   r   <module>r#      s(   " r   