11.给你一个正整数列表 L, 如 L=[2,8,3,50], 输出L内全部数字的乘积末尾0的个数,

如例子L的结果为2.(提示:不要直接相乘,数字非常多,可能溢出)

Answer:
n_2 = 0
n_5 = 0
for tmp in L:
while tmp % 2 == 0:
n_2 += 1
tmp /= 2
while tmp % 5 == 0:
n_5 += 1
tmp /= 5
print min(n_2,n_5)

12.给你一个正整数列表 L, 如 L=[2,8,3,50], 推断列表内全部数字乘积的最后一个非零数字的奇偶性,

奇数输出1,偶数输出0. 如例子输出应为0

Answer:
result = reduce(lambda a,b:a*b, L)
no_zero = int(str(result).replace('0', ''))
print(no_zero & 1)

13.光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。

鄙人光棍几十载,光棍自有光棍的快乐。

让我们勇敢面对光棍的身份吧,

如今就证明自己:给你一个整数a。数出a在二进制表示下1的个数。并输出。

a % 2 == 1
Answer:
print bin(a).count(“1")

14.输出Python之禅

注意:输出python之禅的源代码就可以,不用转换为英文。(小小的提示:print this.s)

Answer:
import this
print this.s

15.给定一个字符串a, 将a中的大写字母 转换成小写,其他字符不变,并输出。

Answer:
print a.lower()

16.银行在打印票据的时候。经常须要将阿拉伯数字表示的人民币金额转换为大写表示。如今请你来完毕这样一个程序。

在中文大写方式中。0到10以及100、1000、10000被依次表示为:

零壹贰叁肆伍陆柒捌玖拾佰仟万

下面的例子示范了阿拉伯数字到人民币大写的转换规则:

1 壹圆

11 壹拾壹圆

111 壹佰壹拾壹圆

101 壹佰零壹圆

-1000 负壹仟圆

1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆

如今给你一个整数a(|a|<100000000), 打印出人民币大写表示.

注意:因为中文乱码问题,输出时请先decode(“utf8”),比如你要输出ans = “零圆”, print ans.decode(“utf8”).

Answer:
m=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']
n=['','拾','佰','仟','圆','万']
b=str(abs(a))
l=len(b)
if a<0:
c='负'
else:
c='' def num(ln):
c=''
l=len(ln)
i=0
if l==1 and ln[0]=='0':
c+=m[0]
return c
if l==4 and ln=='0000':
c+=m[0]
return c
while i<l:
while i<l and int(ln[i])==0:
i+=1
if i<l and int(ln[i])!=0:
c+=m[0]
break
if i==l: break
c+=m[int(ln[i])]
c+=n[l-i-1]
i+=1
return c
if l<=4:
c=c+num(b)+n[4]
else:
c=c+num(b[:l-4])+n[5]+num(b[l-4:])+n[4]
print c.decode("utf8")

17 . 给你两个正整数a,b, 输出它们公约数的个数。

Answer:
print len(set([i for i in range(2,max(a,b)) if (a%i == 0 and b%i==0)])) + 1

18 . 我们经常遇到的问题是给你两个数。要你求最大公约数和最小公倍数。

今天我们反其道而行之,给你两个数a和b。计算出它们各自是哪两个数的最大公约数和最小公倍数。

输出这两个数,小的在前,大的在后,以空格隔开。若有多组解,输出它们之和最小的那组。

注:所给数据都有解,不用考虑无解的情况。

Answer:

c=b/a
l=[]
for i in range(c):
if c%(i+1)==0:
l.append(i+1)
print str(l[len(l)/2-1]*a)+" "+str(l[len(l)/2]*a)

19 . 抓不住爱情的我

总是眼睁睁看它溜走



如今来练习一下发现爱的能力,给你一个字符串a,假设当中包括”LOVE”(love不区分大写和小写)则输出LOVE,否则输出SINGLE。

Answer:
print 'LOVE' if 'love' in a.lower() else 'SINGLE'

20 . 给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每一个小写字符替换成字母表中比它大b的字母。

这里将字母表的z和a相连,假设超过了z就回到了a。比如a=”cagy”,b=3, 则输出 fdjb

Answer:
s=''
for i in a:
if ord(i)>=97 and ord(i)<=122:
i=chr(97+(ord(i)+b-97)%26)
s+=i
print s

Mac 學習系列之Python Challenge 11-20的更多相关文章

  1. [Python學習筆記] 使用xlwings 插入註解 (forked 版本)

    到今天為止 xlwings 還沒有插入註解的功能 去原始開發者的 Github Pull Requests 他說之前有人有建議要加入這個功能 但他還沒更新~ 如果需要使用 Python 來插入註解的話 ...

  2. python 學習深淺拷貝、集合、、作用域、函數

    python 學習深淺拷貝.集合..作用域.函數 2020開年新冠肺炎流行大部分人員.工廠.單位無法復工生產,人員隔離每天外出都要戴口罩,在家隔離期間悶壞了感覺把半年的口糧都幹掉了,嚴重考察大家的資本 ...

  3. Linux网络设备驱动架構學習(三)

    Linux网络设备驱动架構學習(三) 接下來會從以下幾個方面介紹網絡設備驅動的編寫流程: 1.網絡設備的註冊與註銷 2.網絡設備的初始化 3.網絡設備的打開與釋放 4.網絡數據發送流程 5.網絡數據接 ...

  4. 學習 DT device tree 以 ST 的開發板 STM32F429i-disc1 為例

    目標 因為對 device tree 不是很熟悉, 所以就將 device tree, 設為學習目標. 啟動 注意, 這篇隨筆的解說都放在最下面,會標 Explanation_XX,只要搜尋 Expl ...

  5. 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总

    大家好,我是Mac Jiang,非常高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解 ...

  6. 機器學習基石 (Machine Learning Foundations) 作业1 Q15-17的C++实现

    大家好,我是Mac Jiang.今天和大家分享Coursera-台湾大学-機器學習基石 (Machine Learning Foundations) -作业1的Q15-17题的C++实现. 这部分作业 ...

  7. The Python Challenge 谜题全解(持续更新)

    Python Challenge(0-2) The Python Challengehttp://www.pythonchallenge.com/ 是个很有意思的网站,可以磨练使用python的技巧, ...

  8. Linux网络设备驱动架構學習(二)

    Linux网络设备驱动架構學習(二) 接下來會從以下幾個方面介紹網絡設備驅動的編寫流程: 1.網絡設備的註冊與註銷 2.網絡設備的初始化 3.網絡設備的打開與釋放 4.網絡數據發送流程 5.網絡數據接 ...

  9. 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

    今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林 ...

随机推荐

  1. GCC,LLVM,Clang编译器对比

    http://www.cnblogs.com/qoakzmxncb/archive/2013/04/18/3029105.html   在XCode中,我们经常会看到这些编译选项(如下图),有些人可能 ...

  2. RACLE 错误 12899 处理, oracle 11g 更改字符集

    工作需要,安装装了oracle 11g,在导入其他机器上的备份数据的时间,发生一个错误: IMP-00019: 由于 ORACLE 错误 12899 而拒绝行IMP-00003: 遇到 ORACLE ...

  3. Mac下php 5升级到php 7的步骤详解

    前言 在MAC OS X 10.11中php的版本是5.5的,近来一年多里,看到了很多关于php7介绍,以为php7增加了很多新特性,也删除了原来很多的老特性,所以一直以来并没想去尝试使用php7,但 ...

  4. iOS:Reachability网络监听

    iOS利用Reachability确认网络环境3G/WIFI 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的,一般情况下,可以把网络监 ...

  5. 在 Android Studio 2.2 中愉快地使用 C/C++

    转载请注明出处:http://blog.csdn.net/wl9739/article/details/52607010 注:官网上面的技术文章也在不断地汉化中,只是进度有点慢.在我翻译本篇文章的时候 ...

  6. redis-3.28 一主二从模式介绍、主从从模式介绍、sentinel模式一主两从高可用

    一.redis-3.28部署 yum install gcc tclwget http://download.redis.io/releases/redis-3.2.8.tar.gztar -zxvf ...

  7. Java自定义注解基础知识

    注解分为三类:没有任何元素的注解,有一个元素的注解和有多个元素的注解. 1. Marker注解 这类注解没有任何元素,此类注解仅仅是一个标示.如下所示: public @interface Good ...

  8. chkconfig 检查、设置系统的各种服务

    chkconfig 检查.设置系统的各种服务 学习了:http://man.linuxde.net/chkconfig chkconfig --add 某某服务

  9. DevExpress 编译成功的 dll

    DevExpress 编译成功的 dll 附注册方法 其它的有些文件没有,如: DevExpress.EasyTest 这个程序集找不到 希望有的朋友可以分享一下, 安装程序集 通常,将程序集安装到G ...

  10. [Tools] Unlock TypeScript's Features in Vanilla JS with @ts-check and JSDoc

    TypeScript can help you with your plain JavaScript files if you add a simple //@ts-check comment. Th ...