Py数

描述:
Py从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,
这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,
同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。
Py非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Py数。
现在给你一个十进制4位数n,你来判断n是不是Py数,若是,则输出Yes,否则输出No。

如n=2992,则输出Yes; n = 9999,则输出No。

from __future__ import print_function # bin()、oct()、int()、hex() # n = 2992 def twelve(n):     list = ''     while n >= 12:         temp = n % 12         if temp == 10:             list += 'a'         elif temp == 11:             list += 'b'         else:             list += str(temp)         n /= 12     list += str(n)     return ''.join(reversed(list)) def  pick_out(n):     ret = ''     n_10 = str(n)     n_12 = str(twelve(n))     n_16 = str(hex(n))[2:]     # print(n_12)     sum_10 = 0     sum_12 = 0     sum_16 = 0     for index in n_10:         sum_10 += int(index)     for index in n_16:         sum_16 += int(index,16)     for index in n_12:         sum_12 += int(index,12)     if sum_12 == sum_16 and sum_16 == sum_10:         ret = 'Yes'     else:         ret = 'No'     return ret print(pick_out(n),end='')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值