Python内置数据结构与操作符的练习题集锦

第一题: give you two var a and b, print the value of a+b, just do it!

根据提议,给出两个变量 a 和 b 并打印出 a+b的值.

a, b = 1, 2
print a + b

当然也可以这么做

a = 1
b = 2
print a + b

第二题: 给你一个list, 如 L = [2, 8, 3, 5], 对L进行升序排序并输出。

L = sorted(L)
print L
#或
# sort() 内置函数会对列表自身排序而 sorted() 会生成一个新的排序列表
L.sort()
print L

第三题: 给你一个字符串a, 如a = ‘12345', 对a进行逆序输出。

# 通过步进来逆序输出字符串。
a = a[::-1]
print a

第四题: 给你一个字典a = {1:1, 2:2, 3:3}, 输出字典a的key ,以',' 连接,如 ‘1,2,3'。

# dict.keys() 会以list返回字典的key.而join会把list按,字符串',' 连接起来。
print ','.join(a.keys())

第五题: 给你一个字符串a, 输出字符串奇数位置的字符串,如 a = ‘12345', 则输出 ‘135'

# 通过列表解析(也称列表推导式)来判断下表选取奇偶数。
print ''.join([a[x] for x in range(len(a)) if x % 2 == 0])

第六题: 输出所有100以内的素数, 素数之间以空格区分。

# 在加一行print 才能运行通过
L = [x for x in range(2, 101) if not [y for y in range(2, x) if x%y == 0]]
for i in L:
  print L,
print

第七题: 已知矩形长a, 宽b, 输出其面积和周长,以一个空格隔开

print a * b, 2 * (a+b)

第八题: 给你一个list, 如 L = [0, 1, 2, 3, 4] 输出L的中位数

# 中位数是指 对已排序的数集取其中间数,数集为偶数 取中间两数的平均
print sorted(L)[len(L)/2] if len(L) % 2 != 0 else \
    (sorted(L)[Len(L)/2] + sorted(L)[len(L)/2 -1 ])/2.0

第九题: 给你两个正整数a和b, 输出它们的最大公约数。

print max([x for x in range(1, a+1) if x in [y for y in range(1, b+1) if b%y == 0]])

第十题: 给你两个正整数a和b, 输出它们的最小公倍数.

print min([x for x in range(a, a*b+1) if x%a==0 and x%b==0])

附加题: 利用map/reduce 函数实现数的阶乘 如 5!+4!+3!+2!+1!.

print map(lambda x: reduce(lambda y,z: y*z, range(1, x+1)), range(1,6))
# print [1, 2, 6, 24, 120], 所以在用reduce合起来
print reduce(lambda a, b: a+b, map(lambda x: \
    reduce(lambda y, z: y*z, range(1, x+1)),range(1,6)))

附加题: 使用filter函数 实现素数

print filter(lambda x: not [x%i for i in range(2,x) if x%i==0], range(2, 101))
(0)

相关推荐

  • 新手如何快速入门Python(菜鸟必看篇)

    学习任何一门语言都是从入门(1年左右),通过不间断练习达到熟练水准(3到5年),少数人最终能精通语言,成为执牛耳者,他们是金字塔的最顶层.虽然万事开头难,但好的开始是成功的一半,今天这篇文章就来谈谈如何开始入门Python.只要方向对了,就不怕路远. 设定目标 当你决定入门 Python 时,需要一个清晰且短期内可实现的目标,比如通过学习找一份初级程序员工作,目标明确后,你需要了解企业对初级程序员有哪些技能要求,下面是我从拉勾网找的一个初级 Python 工程师的任职要求: 1.熟悉 Pytho

  • Python新手实现2048小游戏

    接触 Python 不久,看到很多人写2048,自己也捣鼓了一个,主要是熟悉Python语法. 程序使用Python3 写的,代码150行左右,基于控制台,方向键使用输入字符模拟. 演示图片 2048.py # -*- coding:UTF-8 -*- #! /usr/bin/python3 import random v = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] def display(v, score): '''显示

  • 深入理解 Python 中的多线程 新手必看

    示例1 我们将要请求五个不同的url: 单线程 import time import urllib2 defget_responses(): urls=[ 'http://www.baidu.com', 'http://www.amazon.com', 'http://www.ebay.com', 'http://www.alibaba.com', 'http://www.jb51.net' ] start=time.time() forurlinurls: printurl resp=urll

  • Python运行的17个时新手常见错误小结

    1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 "SyntaxError :invalid syntax") 该错误将发生在类似如下代码中: 复制代码 代码如下: if spam == 42 print('Hello!') 2)使用 = 而不是 ==(导致"SyntaxError: invalid syntax") = 是赋值操作符而 == 是等于比较操作.该错误发生在如下代码中: 复制代码

  • 新手该如何学python怎么学好python?

    根据本人的学习经验,我总结了以下十点和大家分享: 1)学好python的第一步,就是马上到www.python.org网站上下载一个python版本.我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等. 2)下载完毕后,就可以开始学习了.学习过程中,我建议可以下载一些python的学习文档,比如<dive into python>,<OReilly - Learning Python>等等.通过学习语法,掌握python中的关键字语法,函数语法,数学表达式

  • Python 功能和特点(新手必学)

    Python是一门简单而文字简约的语言.阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语.Python的这种伪代码特性是其最大强项之一,它可让你专注于解决问题的办法而不是语言本身. 在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.考虑到这一点,我编辑了一些的你应该了解的Pyghon功能特色. 带任意数量参数的函数 你可能已经知道了Python允许你定义可选参数.但还有一个方法,可以定义函数任意数量的参数. 首先,看下面

  • 一篇文章入门Python生态系统(Python新手入门指导)

    译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员来说,本文对Python的生态系统还是做了较为全面的介绍.文中提到了一些第三方库,但是Python社区中强大的第三方库并不止这些,欢迎各位Pytonistas补充. •原文链接:http://mirnazim.org/writings/python-ecosystem-introduction/ •译文链接:http://codingpy.com/artic

  • 分享给Python新手们的几道简单练习题

    前言 本文主要给大家分享了一些简单的Python练习题,对学习python的新手们来说是个不错的练习问题,下面话不多说了,来一起看看详细的介绍吧. 第一题:使用while循环输入 1 2 3 4 5 6     8 9 10 a = 0 while a < 10: a +=1 if a == 7: continue print(a) 第二题:求1-100的所有数的和 第一种方法: a = 0 b = 1 while b <= 100: a = a + b b += 1 print(a) 第二种

  • Python完全新手教程

    Python入门教程FROM:http://www.cnblogs.com/taowen/articles/11239.aspx作者:taowen, billrice Lesson 1 准备好学习Python的环境 下载的地址是: www.python.org linux版本的我就不说了,因为如果你能够使用linux并安装好说明你可以一切自己搞定的. 运行环境可以是linux或者是windows: 1.linux redhat的linux安装上去之后一定会有python的(必须的组件),在命令行

  • python新手经常遇到的17个错误分析

    1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 "SyntaxError :invalid syntax") 该错误将发生在类似如下代码中: if spam== 42 print('Hello!') 2) 使用 = 而不是 ==(导致"SyntaxError: invalid syntax") = 是赋值操作符而 == 是等于比较操作.该错误发生在如下代码中: if spam= 42: pr

随机推荐