PythonTip(1~5)题详解
来源:互联网 发布:hadoop 属于java吗 编辑:程序博客网 时间:2024/05/18 03:04
人生苦短,我用Python!
最近先生推荐我去挑战一下PythonTip上面的题目。然后我做着做着就觉得Python白学了那么久,有时候一道简单的题目都做不出来,要么就是语法错误,要么格式错误,真是打击好大(哭~~~~)
所以吧,还是慢慢来吧,不能急于求成,往往学的越快,基础越不扎实,也越容易忘。因此,现在不会都没有关系,慢慢来,别着急!!
下面我把自己在PythonTip上做过的题目做一个总结,不过有些题目我也不会做,需要先生的指教,如果有同学有不同解法,欢迎评论,我会第一时间参与讨论!
题目1:just print a+b
描述: give you two var a and b, print the value of a+b, just do it!!
提示:挑战python栏目的所有题目,题目中所给变量使用前不用声明,也不用赋值,系统自动赋值。如本题,只需一行代码即可: print a + b
系统会自动为a和b赋值,并检查代码执行结果和标准答案是否相同。
分析:此题很简单了,就是让我们在代码行中输入
print a+b
这里题目要求不要定义变量,因为题目已经给你定义好了,哈哈(但是还是感觉怪怪的~~不习惯)
答案:
print a+b
举一反三
1.自己定义变量求和
# -*- coding: UTF-8 -*-a = 3b = 4print a+b输出: 7
题目2:list排序
描述:给你一个list L, 如 L=[2,8,3,50], 对L进行升序排序并输出,
如样例L的结果为[2,3,8,50]
分析:这个题大家都会做的,但是也要注意题目要求和格式;
答案:用冒泡排序,成功率最高。
for i in range(len(L)): for j in range(len(L)-1): if L[j] > L[j+1]: L[j],L[j+1] = L[j+1],L[j]print L
同样,抛开题目,我们可以有以下解法:
举一反三
1.用sort()函数
# -*- coding: UTF-8 -*-L=[2,8,3,50]L.sort()print L
2.用sorted()函数
# -*- coding: UTF-8 -*-L=[2,8,3,50] print sorted(L)
3.循环取出 L 中最小的放到空列表 s 中,在打印出来
# -*- coding: UTF-8 -*-L=[2,8,3,50]x = 0y = len(L)s = []while x<y: s.append(min(L)) L.remove(min(L)) x = x + 1print s
4.快排
# -*- coding: UTF-8 -*-L=[2,8,3,50]def qsort(x): if x == []: return [] return qsort(filter(lambda smaller: smaller < x[0], x))+ [x[0]] + qsort(filter(lambda larger: larger > x[0], x))print qsort(L)
题目3.字符串逆序
描述:给你一个字符串 a, 如a=‘12345’,对a进行逆序输出a。
分析:此题用切片的方法最好了
答案:
print a[::-1]
举一反三
1.用匿名函数 lambda()
# -*- coding: UTF-8 -*-a = '12345'print reduce(lambda x,y: y+x , a)
2.用循环
# -*- coding: UTF-8 -*-a = '12345'for x in range(len(a)): print a[-(x+1)],
3.利用字符串的特征,字符串相加
# -*- coding: UTF-8 -*-a = '12345'#利用字符串能相加l=''for x in a: l = x + lprint l
题目4:输出字典key
描述:给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以’,’链接,如‘1,2,3’。
分析:首先,知道怎么访问一个字典的key值吧,对咯,用 a.keys(),但是这个输出是列表形式哦,所以要做一些处理,将其转化成字符串的形式。
答案:用 join() 函数将 key 中的每个元素用逗号连接。
print ','.join(str(n) for n in a.keys())
举一反三
1.好弱智的解法
# -*- coding: UTF-8 -*-a={1:1,2:2,3:3}b=a.keys()l=len(b)c=[]for i in range(l): c.append(str(b[i]))print ",".join(c)
题目5.输出字符奇数位置的字符串
描述:给你一个字符串 a, 输出字符奇数位置的字符串。如a=‘12345’,则输出135。
分析:切片
答案:
print a[::2]
举一反三
1.观察 a 字符串的下标,发现下标为偶数的其数字为奇数,所以,判断下标是偶数的,则输出该位置的元素即可。
# -*- coding: UTF-8 -*-a='12345'x=''for i in range(len(a)): if i % 2 == 0: x = x + a[i]print x
2.直接隔一个输出
# -*- coding: UTF-8 -*-a='12345'i = 0c = []while i <= len(a)-1: c.append(a[i]) i = i + 2print ''.join(c)#但此时 c 是一个列表
- PythonTip(1~5)题详解
- PythonTip(6~10)题详解
- PythonTip(11~15)题详解
- PythonTip(16~20)题详解
- PythonTip(21~25)题详解
- PythonTip(26~30)题详解
- PythonTip(36~40)题详解
- pythonTip
- PythonTip--7.31
- PythonTip--8.1
- PythonTip--8.2
- PythonTip--8.3
- PythonTip--8.4
- PythonTip--8.5
- PythonTip--8.7
- PythonTip--8.8
- PythonTip 分解n!
- Pythontip 输出字典key
- 写文章、做PPT的总结
- cocos2d-x 3.x(C++)实现屏幕震动效果
- bringSubviewToFront无效、不好使
- 斐波拉契数列的三种写法
- spring 通配符大全
- PythonTip(1~5)题详解
- 产生随机数的一些方法
- AngularJS实现跨域访问
- 数据库连接池的工作原理
- 数据结构(四) 串
- Android应用权限的动态获取
- HDU:2553 n皇后问题
- [logstash-input-redis]插件使用详解
- Object之equals方法