

'''simple docstring'''




import json
import os
import unittest

from transformers.models.roc_bert.tokenization_roc_bert import (
    VOCAB_FILES_NAMES,
    RoCBertBasicTokenizer,
    RoCBertTokenizer,
    RoCBertWordpieceTokenizer,
    _is_control,
    _is_punctuation,
    _is_whitespace,
)
from transformers.testing_utils import require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin, filter_non_english



@require_tokenizers
class 							lowercase_						(		a			,							unittest.TestCase			):

  '''simple docstring'''





  __lowerCAmelCase       :			List[str]     	= RoCBertTokenizer
  __lowerCAmelCase       :			Optional[int]     	= None
  __lowerCAmelCase       :			Dict     	= False
  __lowerCAmelCase       :			int     	= True
  __lowerCAmelCase       :			Any     	= filter_non_english
  def     snake_case_      (  self  )				->					str:


    """simple docstring"""
    super().setUp()

    UpperCAmelCase    				=						['[UNK]', '[CLS]', '[SEP]', '[PAD]', '[MASK]', '你', '好', '是', '谁', 'a', 'b', 'c', 'd']
    UpperCAmelCase    				=						{}
    UpperCAmelCase    				=						{}
    for i, value in enumerate(a_  ):
      UpperCAmelCase    				=						i
      UpperCAmelCase    				=						i
    UpperCAmelCase    				=						os.path.join(self.tmpdirname ,			VOCAB_FILES_NAMES['vocab_file']  )
    UpperCAmelCase    				=						os.path.join(self.tmpdirname ,			VOCAB_FILES_NAMES['word_shape_file']  )
    UpperCAmelCase    				=						os.path.join(self.tmpdirname ,			VOCAB_FILES_NAMES['word_pronunciation_file']  )
    with open(self.vocab_file ,			'w' ,			encoding='utf-8'  ) as vocab_writer:
      vocab_writer.write(''.join([x + '\n' for x in vocab_tokens]  )  )
    with open(self.word_shape_file ,			'w' ,			encoding='utf-8'  ) as word_shape_writer:
      json.dump(a_ ,			a_ ,			ensure_ascii=a_  )
    with open(self.word_pronunciation_file ,			'w' ,			encoding='utf-8'  ) as word_pronunciation_writer:
      json.dump(a_ ,			a_ ,			ensure_ascii=a_  )
  def     snake_case_      (  self  )				->					Optional[Any]:


    """simple docstring"""
    UpperCAmelCase    				=						self.tokenizer_class(self.vocab_file ,			self.word_shape_file ,			self.word_pronunciation_file  )

    UpperCAmelCase    				=						tokenizer.tokenize('你好[SEP]你是谁'  )
    self.assertListEqual(a_ ,			['你', '好', '[SEP]', '你', '是', '谁']  )
    self.assertListEqual(tokenizer.convert_tokens_to_ids(a_  ) ,			[5, 6, 2, 5, 7, 8]  )
    self.assertListEqual(tokenizer.convert_tokens_to_shape_ids(a_  ) ,			[5, 6, 2, 5, 7, 8]  )
    self.assertListEqual(tokenizer.convert_tokens_to_pronunciation_ids(a_  ) ,			[5, 6, 2, 5, 7, 8]  )
  def     snake_case_      (  self  )				->					Dict:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer()

    self.assertListEqual(tokenizer.tokenize('ah\u535A\u63A8zz'  ) ,			['ah', '\u535A', '\u63A8', 'zz']  )
  def     snake_case_      (  self  )				->					Dict:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHeLLo!how  \n Are yoU?  '  ) ,			['hello', '!', 'how', 'are', 'you', '?']  )
    self.assertListEqual(tokenizer.tokenize('H\u00E9llo'  ) ,			['hello']  )
  def     snake_case_      (  self  )				->					str:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_ ,			strip_accents=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHäLLo!how  \n Are yoU?  '  ) ,			['hällo', '!', 'how', 'are', 'you', '?']  )
    self.assertListEqual(tokenizer.tokenize('H\u00E9llo'  ) ,			['h\u00E9llo']  )
  def     snake_case_      (  self  )				->					Tuple:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_ ,			strip_accents=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHäLLo!how  \n Are yoU?  '  ) ,			['hallo', '!', 'how', 'are', 'you', '?']  )
    self.assertListEqual(tokenizer.tokenize('H\u00E9llo'  ) ,			['hello']  )
  def     snake_case_      (  self  )				->					int:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHäLLo!how  \n Are yoU?  '  ) ,			['hallo', '!', 'how', 'are', 'you', '?']  )
    self.assertListEqual(tokenizer.tokenize('H\u00E9llo'  ) ,			['hello']  )
  def     snake_case_      (  self  )				->					List[Any]:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHeLLo!how  \n Are yoU?  '  ) ,			['HeLLo', '!', 'how', 'Are', 'yoU', '?']  )
  def     snake_case_      (  self  )				->					Dict:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_ ,			strip_accents=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHäLLo!how  \n Are yoU?  '  ) ,			['HäLLo', '!', 'how', 'Are', 'yoU', '?']  )
  def     snake_case_      (  self  )				->					str:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_ ,			strip_accents=a_  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHäLLo!how  \n Are yoU?  '  ) ,			['HaLLo', '!', 'how', 'Are', 'yoU', '?']  )
  def     snake_case_      (  self  )				->					List[Any]:


    """simple docstring"""
    UpperCAmelCase    				=						RoCBertBasicTokenizer(do_lower_case=a_ ,			never_split=['[UNK]']  )

    self.assertListEqual(
        tokenizer.tokenize(' \tHeLLo!how  \n Are yoU? [UNK]'  ) ,			['HeLLo', '!', 'how', 'Are', 'yoU', '?', '[UNK]']  )
  def     snake_case_      (  self  )				->					List[str]:


    """simple docstring"""
    UpperCAmelCase    				=						['[UNK]', '[CLS]', '[SEP]', 'want', '##want', '##ed', 'wa', 'un', 'runn', '##ing']

    UpperCAmelCase    				=						{}
    for i, token in enumerate(a_  ):
      UpperCAmelCase    				=						i
    UpperCAmelCase    				=						RoCBertWordpieceTokenizer(vocab=a_ ,			unk_token='[UNK]'  )

    self.assertListEqual(tokenizer.tokenize(''  ) ,			[]  )

    self.assertListEqual(tokenizer.tokenize('unwanted running'  ) ,			['un', '##want', '##ed', 'runn', '##ing']  )

    self.assertListEqual(tokenizer.tokenize('unwantedX running'  ) ,			['[UNK]', 'runn', '##ing']  )
  def     snake_case_      (  self  )				->					Optional[int]:


    """simple docstring"""
    self.assertTrue(_is_whitespace(' '  )  )
    self.assertTrue(_is_whitespace('\t'  )  )
    self.assertTrue(_is_whitespace('\r'  )  )
    self.assertTrue(_is_whitespace('\n'  )  )
    self.assertTrue(_is_whitespace('\u00A0'  )  )

    self.assertFalse(_is_whitespace('A'  )  )
    self.assertFalse(_is_whitespace('-'  )  )
  def     snake_case_      (  self  )				->					str:


    """simple docstring"""
    self.assertTrue(_is_control('\u0005'  )  )

    self.assertFalse(_is_control('A'  )  )
    self.assertFalse(_is_control(' '  )  )
    self.assertFalse(_is_control('\t'  )  )
    self.assertFalse(_is_control('\r'  )  )
  def     snake_case_      (  self  )				->					Optional[Any]:


    """simple docstring"""
    self.assertTrue(_is_punctuation('-'  )  )
    self.assertTrue(_is_punctuation('$'  )  )
    self.assertTrue(_is_punctuation('`'  )  )
    self.assertTrue(_is_punctuation('.'  )  )

    self.assertFalse(_is_punctuation('A'  )  )
    self.assertFalse(_is_punctuation(' '  )  )
  def     snake_case_      (  self  )				->					Optional[int]:


    """simple docstring"""
    UpperCAmelCase    				=						self.get_tokenizer()

    # Example taken from the issue https://github.com/huggingface/tokenizers/issues/340
    self.assertListEqual([tokenizer.tokenize(a_  ) for t in ['Test', '\xad', 'test']] ,			[['[UNK]'], [], ['[UNK]']]  )

    if self.test_rust_tokenizer:
      UpperCAmelCase    				=						self.get_rust_tokenizer()
      self.assertListEqual(
          [rust_tokenizer.tokenize(a_  ) for t in ['Test', '\xad', 'test']] ,			[['[UNK]'], [], ['[UNK]']]  )
  def     snake_case_      (  self  )				->					Tuple:


    """simple docstring"""
    for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
      with self.subTest(F'''{tokenizer.__class__.__name__} ({pretrained_name})'''  ):
        UpperCAmelCase    				=						self.rust_tokenizer_class.from_pretrained(a_ ,			**a_  )

        UpperCAmelCase    				=						F'''A, naïve {tokenizer_r.mask_token} AllenNLP sentence.'''
        UpperCAmelCase    				=						tokenizer_r.encode_plus(
            a_ ,			return_attention_mask=a_ ,			return_token_type_ids=a_ ,			return_offsets_mapping=a_ ,			add_special_tokens=a_ ,			)

        UpperCAmelCase    				=						tokenizer_r.do_lower_case if hasattr(a_ ,			'do_lower_case'  ) else False
        UpperCAmelCase    				=						(
            [
                ((0, 0), tokenizer_r.cls_token),
                ((0, 1), 'A'),
                ((1, 2), ','),
                ((3, 5), 'na'),
                ((5, 6), '##ï'),
                ((6, 8), '##ve'),
                ((9, 1_5), tokenizer_r.mask_token),
                ((1_6, 2_1), 'Allen'),
                ((2_1, 2_3), '##NL'),
                ((2_3, 2_4), '##P'),
                ((2_5, 3_3), 'sentence'),
                ((3_3, 3_4), '.'),
                ((0, 0), tokenizer_r.sep_token),
            ]
            if not do_lower_case
            else [
                ((0, 0), tokenizer_r.cls_token),
                ((0, 1), 'a'),
                ((1, 2), ','),
                ((3, 8), 'naive'),
                ((9, 1_5), tokenizer_r.mask_token),
                ((1_6, 2_1), 'allen'),
                ((2_1, 2_3), '##nl'),
                ((2_3, 2_4), '##p'),
                ((2_5, 3_3), 'sentence'),
                ((3_3, 3_4), '.'),
                ((0, 0), tokenizer_r.sep_token),
            ]
        )

        self.assertEqual(
            [e[1] for e in expected_results] ,			tokenizer_r.convert_ids_to_tokens(tokens['input_ids']  )  )
        self.assertEqual([e[0] for e in expected_results] ,			tokens['offset_mapping']  )
  def     snake_case_      (  self  )				->					Any:


    """simple docstring"""
    UpperCAmelCase    				=						['的', '人', '有']
    UpperCAmelCase    				=						''.join(a_  )
    for tokenizer, pretrained_name, kwargs in self.tokenizers_list:
      with self.subTest(F'''{tokenizer.__class__.__name__} ({pretrained_name})'''  ):
        UpperCAmelCase    				=						True
        UpperCAmelCase    				=						self.tokenizer_class.from_pretrained(a_ ,			**a_  )
        UpperCAmelCase    				=						self.rust_tokenizer_class.from_pretrained(a_ ,			**a_  )

        UpperCAmelCase    				=						tokenizer_p.encode(a_ ,			add_special_tokens=a_  )
        UpperCAmelCase    				=						tokenizer_r.encode(a_ ,			add_special_tokens=a_  )

        UpperCAmelCase    				=						tokenizer_r.convert_ids_to_tokens(a_  )
        UpperCAmelCase    				=						tokenizer_p.convert_ids_to_tokens(a_  )

        # it is expected that each Chinese character is not preceded by "##"
        self.assertListEqual(a_ ,			a_  )
        self.assertListEqual(a_ ,			a_  )

        UpperCAmelCase    				=						False
        UpperCAmelCase    				=						self.rust_tokenizer_class.from_pretrained(a_ ,			**a_  )
        UpperCAmelCase    				=						self.tokenizer_class.from_pretrained(a_ ,			**a_  )

        UpperCAmelCase    				=						tokenizer_r.encode(a_ ,			add_special_tokens=a_  )
        UpperCAmelCase    				=						tokenizer_p.encode(a_ ,			add_special_tokens=a_  )

        UpperCAmelCase    				=						tokenizer_r.convert_ids_to_tokens(a_  )
        UpperCAmelCase    				=						tokenizer_p.convert_ids_to_tokens(a_  )

        # it is expected that only the first Chinese character is not preceded by "##".
        UpperCAmelCase    				=						[
            F'''##{token}''' if idx != 0 else token for idx, token in enumerate(a_  )
        ]
        self.assertListEqual(a_ ,			a_  )
        self.assertListEqual(a_ ,			a_  )
  @slow
  def     snake_case_      (  self  )				->					Optional[Any]:


    """simple docstring"""
    UpperCAmelCase    				=						self.tokenizer_class(self.vocab_file ,			self.word_shape_file ,			self.word_pronunciation_file  )

    UpperCAmelCase    				=						tokenizer.encode('你好' ,			add_special_tokens=a_  )
    UpperCAmelCase    				=						tokenizer.encode('你是谁' ,			add_special_tokens=a_  )

    UpperCAmelCase    				=						tokenizer.build_inputs_with_special_tokens(a_  )
    UpperCAmelCase    				=						tokenizer.build_inputs_with_special_tokens(a_ ,			a_  )

    assert encoded_sentence == [1] + text + [2]
    assert encoded_pair == [1] + text + [2] + text_a + [2]





  def     snake_case_      (  self  )				->					Tuple:


    """simple docstring"""
    UpperCAmelCase    				=						self.get_tokenizers(do_lower_case=a_  )
    for tokenizer in tokenizers:
      with self.subTest(F'''{tokenizer.__class__.__name__}'''  ):
        UpperCAmelCase    				=						'你好，你是谁'
        UpperCAmelCase    				=						tokenizer.tokenize(a_  )
        UpperCAmelCase    				=						tokenizer.convert_tokens_to_ids(a_  )
        UpperCAmelCase    				=						tokenizer.convert_tokens_to_shape_ids(a_  )
        UpperCAmelCase    				=						tokenizer.convert_tokens_to_pronunciation_ids(a_  )
        UpperCAmelCase    				=						tokenizer.prepare_for_model(
            a_ ,			a_ ,			a_ ,			add_special_tokens=a_  )

        UpperCAmelCase    				=						tokenizer.encode_plus(a_ ,			add_special_tokens=a_  )

        self.assertEqual(a_ ,			a_  )





'''simple docstring'''




from __future__ import annotations


def    lowerCamelCase__		(    SCREAMING_SNAKE_CASE   : int | float | str							, SCREAMING_SNAKE_CASE   : int | float | str    ):
  if nth_term == "":
    return [""]
  UpperCAmelCase    				=						int(SCREAMING_SNAKE_CASE    )
  UpperCAmelCase    				=						int(SCREAMING_SNAKE_CASE    )
  UpperCAmelCase    				=						[]
  for temp in range(int(SCREAMING_SNAKE_CASE    )    ):
    series.append(f'''1 / {pow(temp + 1							, int(SCREAMING_SNAKE_CASE    )    )}''' if series else '1'    )
  return series


if __name__ == "__main__":
  import doctest

  doctest.testmod()

  _a					:			List[Any]							=    int(input('Enter the last number (nth term) of the P-Series'))
  _a					:			Tuple							=    int(input('Enter the power for  P-Series'))
  print('Formula of P-Series => 1+1/2^p+1/3^p ..... 1/n^p')
  print(p_series(nth_term, power))


