Mac 學習系列之Python Challenge 11-20

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   

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 15:52:16

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

Mac 學習系列之Python Challenge 1-10

give you two var a and b, print the value of a+b, just do it!! Answer: print a+b 给你一个list L, 如 L=[2,8,3,50], 对L进行升序排序并输出, 如样例L的结果为[2,3,8,50] Answer: L=[2,8,3,50] L.sort() or L.sorted() print L 给你一个字符串 a, 如a='12345',对a进行逆序输出a. Answer: a = '12345' b =

Mac 學習系列之SVN环境配置及常用命令大全

Windows里面用SVN是比較方便和Easy的,mac下面的其實也一樣. mac下带有SVN因此只需要激活它–环境配置: svnadmin create $Path 用来下载一个svn程序即可 下载后就可以下载代码了. 以下是svn 常用命令大全: ??1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout http://xxxxxxxxxxxx 简写:svn co 2.往版本库中添加新的文件 svn add fil

Mac 學習系列之Git环境配置及使用

前言 记录一下自己的学习记录. 一.安装Git 由于mac git的地址http://code.google.com/p/git-osx-installer/被墙,被迫使用源码安装,源码可以从http://kernel.org/pub/software/scm/git/下载,编译源码需要先安装xcode,参考http://developer.apple.com. 编译安装 1.解压 tar xjvf git-1.7.4.1.tar.tar.bz2 2. 编译 cd git-1.7.4.1 ./c

學習 React.js:用 React.js 和 Flux 創建一個簡單的購物車

Creating A Simple Shopping Cart with React.js and Flux Ken Wheeler (@ken_wheeler) 簡介 歡迎來到學習 React 的第四章這也是最後一章!到現在,我們已經學習了怎樣利用 React 的 API 來創建狀態型組件,如何應用它們,以及如何運用臉書的 Flux 架構來工作的 今天我們將把所有的這一切放到一塊,來創建一個簡單的購物車應用.在現在的電商網站上,產品的詳細頁面相互依賴,而 React 有助於簡化並有效的組織它們

Python學習筆記 第一課 Basic Information of Python

因學校習作需要而研究Python 使用教材:Python3.4.1 Official Documentation - The Python Standard Library Chapter 1 Basic Information of Python 1) Nature of Python: a high-level, interpreted language 2) Aim of Python: to automate tasks on computers 3) Examples of usage

學習 React.js:用 Node 和 React.js 創建一個實時的 Twitter 流

Build A Real-Time Twitter Stream with Node and React.js By Ken Wheeler (@ken_wheeler) 簡介 歡迎來到學習 React 的第二章,該系列文章將集中在怎麼熟練並且有效的使用臉書的 React 庫上.如果你沒有看過第一章,概念和起步,我非常建議你繼續看下去之前,回去看看. 今天我們準備創建用 React 來創建一個應用,通過 Isomorphic Javascript. Iso-啥? Isomorphic. Java

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

大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博友发现错误请及时留言联系,谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习.理解课程的途径!希望我的博客对您的学习有所帮助!

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

大家好,我是Mac Jiang,首先祝贺大家清明节快乐!作为一名苦逼的程序员,博主只能窝在实验室玩玩游戏,顺便趁着大早上没人发一篇微博.不过还是祝各位出行的兄弟玩的开心! 今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业二的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博

機器學習基石 (Machine Learning Foundations) 作业1 Q18-20的C++实现(pocket)

大家好,我是Mac Jiang,今天和大家分享Coursera---台湾大学---機器學習基石 (Machine Learning Foundations)---作业1:Q18-20的C++实现.虽然我的代码得到了较为正确的结果,但是肯定不是最好的,如果各位博友有更好的实现思路,请留言指正,谢谢!希望我的博客能给您带来一些学习上的帮助!Q15-17的实现过程已经在:http://blog.csdn.net/a1015553840/article/details/50979434中给出,有需要的博