新手潘包邮 发表于 2018-4-23 12:35:16

def fun(num):
    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)

新手潘包邮 发表于 2018-4-23 12:48:51

solomonxian 发表于 2017-9-6 18:20
利用字符串操作
python3 貌似不允许 03 04 这样直接 0 开头的数字,输入字符串'03' '04'会更好

你的技巧怎么这么高,难以想象

新手潘包邮 发表于 2018-4-23 12:52:42

solomonxian 发表于 2017-9-6 18:20
利用字符串操作
python3 貌似不允许 03 04 这样直接 0 开头的数字,输入字符串'03' '04'会更好

能不能传授下经验

grf1973 发表于 2018-4-23 14:56:30

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)

badaoqingchen 发表于 2018-4-23 16:22:43

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

solomonxian 发表于 2018-5-12 18:31:56

新手潘包邮 发表于 2018-4-23 12:52
能不能传授下经验

抱歉忙其他事很久没上论坛了,晚了回复
技巧并不高,很容易达到

一路学一路练习就是了,这个每日一题几乎每一题我都自己做了的
回头看第一题时,我也是初学者。你加油{:10_275:}

永恒的蓝色梦想 发表于 2019-8-18 15:42:42

本帖最后由 永恒的蓝色梦想 于 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)

Geoffreylee 发表于 2020-3-19 12:04:40

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))

小陨aoq 发表于 2020-8-1 16:37:43

看看答案

19971023 发表于 2020-8-8 11:26:29

1

aironeng 发表于 2020-12-8 09:05:26

学习

a563038346 发表于 2020-12-23 11:28:02

e
页: 1 [2]
查看完整版本: Python:每日一题 93(答题领鱼币)