• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
村雨sup
自己选的路,跪着也要走完 XD
博客园    首页    新随笔    联系   管理    订阅  订阅
python 小练习 5
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。
AC 1
def digsum(n,m):         #进制转换都可以用这种方法//加余数
sum=0
while n>0:
sum=sum+n%m
n=n//m #python中"/"代表浮点数整除,“//”代表传统的整数相除取整数部分 例如3/2 = 0.6666.... 3//2 = 0
return(sum)
if digsum(n,10)==digsum(n,16) and digsum(n,10)==digsum(n,12):
print 'Yes'
else:
print 'No'


判断一个数是否是素数
def sushu(n):
for i in range(2,int(n**0.5)+1):
if n%i==0:
return(-1)
else: #这个else和for同缩进,意思是如果前面没有能return一个数的话就执行执行else,return 1,学到了。
return(1)
 
posted on 2017-07-19 13:57  村雨sup  阅读(336)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3