import string
def check(num, base, i = 0):
if i >= len(num):
return True
if not num[i].isdigit():
val = string.ascii_lowercase.find(num[i].lower())
if val == -1 or val + 10 >= base:
return False
elif int(num[i]) >= base:
return False
return check(num, base, i + 1)
while True:
num = raw_input('Enter number: ')
if len(num) == 0: break # null string breaks
base = int(raw_input('Enter base: '))
print(check(num, base))
如果它能检查10以上的基数就更好了。像这样:
正如@ooga指出的,当
i
大于数字的长度时,您需要进行检查,您可以这样做:Python之道:
相关问题 更多 >
编程相关推荐