Your IP : 216.73.216.196
B
� fq � @ s, d Z G dd� d�Zdd� Zedkr(e� dS )z1
Markov chain simulation of words or characters.
c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
�Markovc C s || _ || _i | _d S )N)�histsize�choice�trans)�selfr r � r �6/opt/alt/python37/lib64/python3.7/Tools/demo/markov.py�__init__ s zMarkov.__init__c C s | j �|g ��|� d S )N)r �
setdefault�append)r �state�nextr r r �add
s z
Markov.addc C sz | j }| j}|d |d d� � x<tt|��D ],}||td|| �|� |||d � � q,W ||t|�| d � d � d S )N� � )r r
�range�len�max)r �seq�nr
�ir r r �put s ,z
Markov.putc C s` | j }| j}| j}||d �}x<|tdt|�| �d � }|| }||�}|sPP ||7 }q W |S )Nr )r r r r r )r r r r r ZsubseqZoptionsr r r r �get s z
Markov.getN)�__name__�
__module__�__qualname__r r
r r r r r r r s r c C sd dd l } dd l}dd l}| jdd � }y|�|d�\}}W n� |jk
r� td| jd � td� td� td� td� td � td
� td� td� td
� td� td� td� | �d� Y nX d}d}d}xt|D ]l\}} d| kr�dk�rn nt|dd � �}|dk�r d}|dk�r2|d7 }|dk�r@d}|dkr�d}q�W |�s\dg}t||j �}
y�x�|D ]�}|dk�r�| j
}|�� �r�td� �qpn
t|d�}|�r�td|d� |�
� }
|�� |
�d�}xR|D ]J}|dk�r�td � |�� }|�r�|�rt|�}n
d!�|�}|
�|� �q�W �qpW W n tk
�rL td"� Y nX |
j�sbtd#� d S |�rptd$� |dk�r�x@|
j�� D ]2}|d k�s�t|�|k �r�tt|�|
j| � �q�W |dk�r�ttd%�|
jd% � t� x~|
�� }|�r�|}n|�� }d}d&}xF|D ]>}|t|� |k�r,t� d}t|d!d'� |t|�d 7 }�qW t� t� �q�W d S )(Nr r Z0123456789cdwqz"Usage: %s [-#] [-cddqw] [file] ...zOptions:z$-#: 1-digit history size (default 2)z-c: characters (default)z -w: wordsz-d: more debugging outputz-q: no debugging outputz3Input files (default stdin) are split in paragraphsz1separated blank lines and each paragraph is splitz0in words by whitespace, then reconcatenated withz#exactly one space separating words.z0Output consists of paragraphs separated by blankz4lines, where lines are no longer than 72 characters.� Fz-0z-9z-cz-dz-qz-wT�-zSorry, need stdin from file�rZ
processingz...z
zfeeding ...� z-Interrupted -- continue with data read so farzNo valid input fileszdone.� �H )�end)�sys�random�getopt�argv�error�print�exit�intr r �stdin�isatty�open�read�close�split�tuple�joinr �KeyboardInterruptr �keysr �reprr )r"