num1 = []
num = str(num)
b = reversed(num)
for i in b:
num1.append(int(i))
print(num1)
num_dict = {0:0,1:1,2:2,5:5,6:9,8:8,9:6,4:18,7:22,3:15}
j = len(num1)
print(j)
sum1 = 0
for i in num1:
k = num_dict
print(k)
sum1 += (36**(j-1)) * k
j -= 1
print(sum1)
#num = int((list(str(num))))
#print(num)
fun(123456789) solomonxian 发表于 2017-9-6 18:20
利用字符串操作
python3 貌似不允许 03 04 这样直接 0 开头的数字,输入字符串'03' '04'会更好
你的技巧怎么这么高,难以想象 solomonxian 发表于 2017-9-6 18:20
利用字符串操作
python3 貌似不允许 03 04 这样直接 0 开头的数字,输入字符串'03' '04'会更好
能不能传授下经验 def fun(n):
s='012Eh59L86'
hexstr= ''.join( for x in str(n)]) #十六进制倒序,
x=hexstr.upper() #转成大写
decstr=sum() if x.isdigit() else ord(x)-55) for i in range(len(x))]) #十进制
return '%d,旋转为16进制%s,10进制为%d'%(n,hexstr[::-1],decstr) def f(b):
b = list(b)
b.reverse()
dic = {'0':'0', '1':'1', '2':'2', '3':'E', '4':'H', '5':'5', '6':'9', '7':'L', '8':'8', '9':'6'}
new = for i in b]
num = 0
for i in range(len(new)):
if new == 'L':
num += 21*36**(len(new)-1-i)
elif new == 'H':
num += 17*36**(len(new)-1-i)
elif new == 'E':
num += 14*36**(len(new)-1-i)
else:
num += int(new)*36**(len(new)-1-i)
print num 新手潘包邮 发表于 2018-4-23 12:52
能不能传授下经验
抱歉忙其他事很久没上论坛了,晚了回复
技巧并不高,很容易达到
一路学一路练习就是了,这个每日一题几乎每一题我都自己做了的
回头看第一题时,我也是初学者。你加油{:10_275:} 本帖最后由 永恒的蓝色梦想 于 2019-8-18 15:44 编辑
dic={'0': '0', '1': '1', '2': '2', '3': 'e', '4': 'h', '5': '5', '6': '9', '7': 'l', '8': '8', '9': '6'}
def function(num):num=str(num)[::-1];return int(''.join((dicfor i in num)),base=36) def fun(num):
dic = {'0': 0, '1': 1, '2': 2, '3': 'e', '4': 'h', '5': 5,
'6': 9, '7': 'l', '8': 8, '9': 6}
num_str = str(num)[::-1]
lst = for i in num_str]
sum = 0
for i in range(len(lst)):
if isinstance(lst, str):
sum += (ord(lst)-97+10) * 36 ** (len(lst)-i-1)
else:
sum += lst * 36 ** (len(lst)-i-1)
return sum
print(fun(123)) 看看答案 1 学习 e
页:
1
[2]