第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何計(jì)算巴拉圭國(guó)家稅號(hào)的驗(yàn)證碼

如何計(jì)算巴拉圭國(guó)家稅號(hào)的驗(yàn)證碼

在巴拉圭(南美洲)國(guó)家,每個(gè)納稅人都有一個(gè)由政府(Ministerio de Hacienda, Secretaríade Tributación)分配的稅號(hào)(稱為 RUC:Registro único del Contribuyente)。此 RUC 是一個(gè)數(shù)字,后跟一個(gè)驗(yàn)證數(shù)字 (dígito verificador),例如123456-0。當(dāng)您申請(qǐng) RUC 時(shí),政府會(huì)告訴您驗(yàn)證碼。有沒(méi)有辦法根據(jù) RUC 計(jì)算驗(yàn)證碼?它是一個(gè)已知的公式嗎?就我而言,我有一個(gè)供應(yīng)商和客戶數(shù)據(jù)庫(kù),多年來(lái)由公司的幾名員工收集?,F(xiàn)在我需要運(yùn)行檢查以查看所有 RUC 是否輸入正確或是否有輸入錯(cuò)誤。我的偏好是一個(gè)Python解決方案,但我會(huì)采取任何解決方案來(lái)為我指明正確的方向。編輯:這是一個(gè)分享知識(shí)的自我答案,我花了幾個(gè)小時(shí)/幾天才找到。我將此問(wèn)題標(biāo)記為“回答您自己的問(wèn)題”(不知道這是否會(huì)改變?nèi)魏问虑椋?
查看完整描述

1 回答

?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

RUC 的驗(yàn)證數(shù)字是使用與稱為 的方法非常相似(但不等于)的公式計(jì)算的Modulo 11;這至少是我在閱讀以下技術(shù)網(wǎng)站時(shí)獲得的信息(內(nèi)容為西班牙語(yǔ)):


https://www.yoelprogramador.com/funncion-para-calcular-el-digito-verificador-del-ruc/

http://groovypy.wikidot.com/blog:02

https://es.wikipedia.org/wiki/C%C3%B3digo_de_control#M.C3.B3dulo_11

我分析了上述頁(yè)面中提供的解決方案,并針對(duì) RUC 列表及其已知驗(yàn)證數(shù)字運(yùn)行了自己的測(cè)試,這使我得出了一個(gè)返回預(yù)期輸出的最終公式,但與上述鏈接中的解決方案不同。


我得到的計(jì)算 RUC 驗(yàn)證數(shù)字的最終公式如本例 ( 80009735-1) 所示:


將 RUC 的每個(gè)數(shù)字(不考慮驗(yàn)證數(shù)字)乘以基于該數(shù)字在 RUC 內(nèi)的位置(從 RUC 右側(cè)開始)的因子,并將這些乘法的所有結(jié)果相加:


RUC:             8       0       0       0       9       7       3       5


Position:        7       6       5       4       3       2       1       0


Multiplications: 8x(7+2) 0x(6+2) 0x(5+2) 0x(4+2) 9x(3+2) 7x(2+2) 3x(1+2) 5x(0+2)


Results:         72      0       0       0       45      28      9       10


Sum of results:  164

將總和除以11并使用除法的余數(shù)來(lái)確定驗(yàn)證數(shù)字:


如果余數(shù)大于1,則校驗(yàn)位為11 - remainder

若余數(shù)為0或1,則校驗(yàn)位為0

在輸出示例中:


Sum of results:       164


Division:             164 / 11    ==>   quotient 14, remainder 10


Verification digit:   11 - 10     ==>   1

這是我Python的公式版本:


def calculate_dv_of_ruc(input_str):

    # assure that we have a string

    if not isinstance(input_str, str):

        input_str = str(input_str)


    # try to convert to 'int' to validate that it contains only digits.

    # I suspect that this is faster than checking each char independently

    int(input_str)


    the_sum = 0

    for i, c in enumerate(reversed(input_str)):

        the_sum += (i + 2) * int(c)


    base = 11

    _, rem = divmod(the_sum, base)

    if rem > 1:

        dv = base - rem

    else:

        dv = 0


    return dv

測(cè)試這個(gè)函數(shù)會(huì)返回預(yù)期的結(jié)果,當(dāng)輸入的字符不是數(shù)字時(shí)會(huì)引發(fā)錯(cuò)誤:


>>> calculate_dv_of_ruc(80009735)

1

>>> calculate_dv_of_ruc('80009735')

1

>>> calculate_dv_of_ruc('80009735A')

Traceback (most recent call last):

  File "<input>", line 1, in <module>

  File "<input>", line 8, in calculate_dv_of_ruc

ValueError: invalid literal for int() with base 10: '80009735A'


查看完整回答
反對(duì) 回復(fù) 2022-11-09
  • 1 回答
  • 0 關(guān)注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)