擅长:python、mysql、java
<p>我建议在开始计算之前删除“x”,因此将add作为函数的第一行</p>
<pre><code>alphabet=alphabet.replace('x','')
</code></pre>
<p>因此,您的函数将同时适用于“FFF”或“XF”两种系统</p>
<pre><code>def v2r(num, alphabet):
"""Convert base 10 number into a string of a custom base (alphabet)."""
alphabet=alphabet.replace('x','') ### added
alphabet_length = len(alphabet)
result = ''
while num > 0:
result = alphabet[num % alphabet_length] + result
num = num // alphabet_length
return result
def r2v(data, alphabet):
"""Convert string of a custom base (alphabet) back into base 10 number."""
alphabet=alphabet.replace('x','') ### added
alphabet_length = len(alphabet)
num = 0
for char in data:
num = alphabet_length * num + alphabet[:alphabet_length].index(char)
return num
</code></pre>