📅  最后修改于: 2023-12-03 14:56:36.865000             🧑  作者: Mango
二十进制是一种使用20个不同数字(0-9和A-J)进行计数的进制系统。在编程中,有时需要检查一个数是否为正二十进制数字,本篇介绍如何实现这个功能。
def is_positive_base_20_number(n):
"""
检查一个数是否为正二十进制数字
:param n: 待检查的数
:return: True:是;False:否
"""
if not isinstance(n, int) and not isinstance(n, str):
# 判断输入是否为整数或字符串类型
return False
if isinstance(n, int):
# 将整数转换为字符串
n_str = str(n)
else:
n_str = n
# 判断字符串中是否只包含数字0-9和字母A-J
for c in n_str:
if c not in '0123456789ABCDEFGHIJ':
return False
return True
assert is_positive_base_20_number(1234) == False
assert is_positive_base_20_number('1A2B3C') == True
assert is_positive_base_20_number('ZXY123') == False
assert is_positive_base_20_number(150) == False
assert is_positive_base_20_number('') == False