当前位置: 首页 > 编程日记 > 正文

100+Python编程题给你练~(附答案)

640?wx_fmt=jpeg

整理 | Just

出品 | Python大本营

春节马上就要到了,怎么能让自己在假期里不掉队?今天,营长给大家准备一个项目: 100+ 编程练习,这些题如果能坚持每天至少完成一道,一定可以帮大家轻松 get Python 的编程技能。目前,这个项目已经获得了 2924 Stars,2468 Forks。

首先,这 100+ 练习题根据难易程度分为三个等级:Level 1、2 和 3。下面对如何定义这三个 Level 进行了说明,大家可以结合自身的学习能力和实践经验进行选择。

Level 1:初级。刚入门 Python 或者正在学一些基础课程的同学们。通常包含 1 到 2 个类或函数的问题都可以解决,甚至答案都可能在一些教材中就能找到。

Level 2:中级。已经系统学习过 Python,并且已经有一定的编程背景的同学们,可以解决包含 3 个及以上类或函数的问题,不过这些答案就在教材找不到了。

Level 3:高级:可以用 Python 中非常丰富的各种库、标准包或更高级的技术,结合数据结构和算法,来解决复杂的问题。

其次,每题都有问题描述、提示和解决方案。大家一定要先独立完成,然后再看参考答案哦~

前 25 题中,Q1~5、22~25 都是 Level 1 的难度,Q6~17 为 Level 2,Q18~22 为 Level 3。大家正好利用这五道题学习、巩固一下基础,然后就开始准备挑战自己吧!

下面先给出前五道题,其他的题目大家可以在 Github 上看到~

Question 1
Level 1

Question:
Write a program which will find all such numbers which are divisible by 7 but are not a multiple of 5,
between 2000 and 3200 (both included).
The numbers obtained should be printed in a comma-separated sequence on a single line.

Hints: 
Consider use range(#begin, #end) method

Question 2
Level 1

Question:
Write a program which can compute the factorial of a given numbers.
The results should be printed in a comma-separated sequence on a single line.
Suppose the following input is supplied to the program:
8
Then, the output should be:
40320

Hints:
In case of input data being supplied to the question, it should be assumed to be a console input.

Question 3
Level 1

Question:
With a given integral number n, write a program to generate a dictionary that contains (i, i*i) such that is an integral number between 1 and n (both included). and then the program should print the dictionary.
Suppose the following input is supplied to the program:
8
Then, the output should be:
{112439416525636749864}

Hints:
In case of input data being supplied to the question, it should be assumed to be a console input.
Consider use dict()

Question 4
Level 1

Question:
Write a program which accepts a sequence of comma-separated numbers from console and generate a list and a tuple which contains every number.
Suppose the following input is supplied to the program:
34,67,55,33,12,98
Then, the output should be:
['34''67''55''33''12''98']
('34''67''55''33''12''98')

Hints:
In case of input data being supplied to the question, it should be assumed to be a console input.
tuple() method can convert list to tuple

答案要点:

Question 5
Level 1

Question:
Define a class which has at least two methods:
getString: to get a string from console input
printString: to print the string in upper case.
Also please include simple test function to test the class methods.

Hints:

*Solution 1*
l=[]
for i in range(20003201):
    if (i%7==0and (i%5!=0):
        l.append(str(i))

print ','.join(l)
___________________________________
*Solution 2*
def fact(x):
    if x == 0:
        return 1
    return x * fact(x - 1)

x=int(raw_input())
print fact(x)
___________________________________
*Solution 3*
n=int(raw_input())
d=dict()
for i in range(1,n+1):
    d[i]=i*i

print d
___________________________________
*Solution 4*
values=raw_input()
l=values.split(",")
t=tuple(l)
print l
print t
___________________________________
*Solution 5*
class InputOutString(object):
    def __init__(self):
        self.s = ""

    def getString(self):
        self.s = raw_input()

    def printString(self):
        print self.s.upper()

strObj = InputOutString()
strObj.getString()
strObj.printString()

Use __init__ method to construct some parameters

更多题目可以查阅 Github 地址:

作者 | zhiwehu

https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt

(本文为Python大本营原创,转载请微信联系 1092722531。)


推荐阅读

  • 女程序员:我负责赚钱养家,老公负责貌美如花
  • 微软彻底告别移动操作系统!
  • 区块链,会越来越无聊!
  • K8S的SDN容器网络解决方案【机制篇】
  • 任正非:人工智能就是计算机和统计学
  • 12306能扛住明星出轨这种流量冲击吗?
  • 心疼!能为程序员男友做些什么吗?

相关文章:

为了一窥国足输韩国之后人们的评论,我爬了懂球帝App

【导语】2019亚洲杯决赛正如火如荼进行中,国足的晋级之路可谓用“惊现”二字评论。继1月16日,国足对战韩国队败北后,一名Python学习者为了一窥网友们的评论,特意爬了懂球帝App的数据。最新喜讯是在20日国足对战泰国的比赛中&#…

Mac下mysql服务器安装

Mac下mysql服务器安装 下载mysql 进入http://dev.mysql.com/downloads/mysql/ 下载Mac OS X 10.9 (x86, 64-bit), Compressed TAR Archive 安装 tar -zxvf mysql-5.6.25-osx10.9-x86_64.tar.gz mv mysql-5.6.25-osx10.9-x86_64 mysql cd mysql sudo scripts/mysql_install_db -…

linux查找文件

find . | grep xyz 将当前目录下(包括子目录)的文件名中含有xyz的文件过滤出来 find . | xargs grep xyz 将当前目录下(包括子目录)的文件内容中含有xyz的行过滤出来 转载于:https://www.cnblogs.com/anovana/p/8036032.html

Grape Api 笔记

关键字:namespace aliases:group,resources,resources,segment define route parameter: 1. namespace :id 2. param_route :id 关键字before 每次api请求前均执行一次 关键字helpers 1. 定义module,通过…

第一个spring boot应用

前提 首先要确保已经安装了java和maven: $ java -version java version "1.8.0_102" Java(TM) SE Runtime Environment (build 1.8.0_102-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode) $ mvn -v Apache Maven 3.3.9 (bb52d850…

【转载】xp自动校时

招式一. 自由设定XP时间同步间隔 而对于Windows 2000和XP,由于自身已经集成了自动对时功能,就不用像Win98那样麻烦地安装第三方软件了。但系统默认的时间同步间隔只是7天,我们无法自由选择,使得这个功能在灵活性方面大打折扣。其实…

发改委:互联网企业没有出现大规模裁员现象

1 月 22 日,据中国网报道,国家发改委就宏观经济运行情况举行发布会,新闻发言人孟玮就近期互联网行业裁员情况以及就业保障问题予以回应。 孟玮表示,近期国家发改委通过多种方式进行了调研,包括到有关企业进行座谈&…

php操作mysql的常用语句(大全)

SQL分类:DDL—数据定义语言(Create,Alter,Drop,DECLARE)DML—数据操纵语言(Select,Delete,Update,Insert)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)p…

ElasticSearch + xpack 使用

ElasticSearch 是一个高可用开源全文检索和分析组件。提供存储服务,搜索服务,大数据准实时分析等。一般用于提供一些提供复杂搜索的应。我们为什么要选择 ElasticSearch ?因为它是一个准实时的搜索工具,在一般情况下延时少于一秒&…

java coverage exclude使用

使用cobertura&#xff1a;http://mojo.codehaus.org/cobertura-maven-plugin/usage.html 若想要忽略一部分代码&#xff0c;可以通过exclude来指定&#xff1a; <configuration> <instrumentation><excludes><exclude>com/alibaba/ws/gcenter/web/**/…

人工智障?243个机器人被裁

图片源自 Henn-na 官网作者 | 若名出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;全球经济降温&#xff0c;企业裁员消息不断&#xff0c;如果你不能带来显著效益&#xff0c;则很有可能被淘汰&#xff0c;即使是机器人&#xff0c;也难逃被裁的命运。“我们酒店的…

Silverlight C# 游戏开发:Silverlight开发环境

Silverlight C# 游戏开发&#xff1a;Silverlight开发环境 所谓工欲善其事必先利其器&#xff0c;没有好的工具也没有办法做事&#xff0c;我以前曾经想学习C以外的程序语言&#xff0c;当时有java和C#来选择&#xff0c;当时考虑java比较受推崇&#xff0c;可能会比较好一些&a…

算法工程师必须要知道的面试技能雷达图

本文作者王喆&#xff0c;硅谷高级机器学习工程师。转载自知乎专栏&#xff1a;https://zhuanlan.zhihu.com/p/52169807这里是 王喆的机器学习笔记 的第五篇文章&#xff0c;今天我们不聊paper&#xff0c;换一个轻松一点的话题&#xff0c;聊一聊如何准备算法工程师的面试。今…

Qt中文手册 之 QHeaderView

一、 头文件:#include<QHeaderView> 继承自:QAbstractItemView 二、属性 1、cascadingSectionResizes : bool 如果下一区域已经达到最小,是否继续改变下下一个区域的大小。 前提条件是:设置setResizeMode()为interactive 默认是false 相关函数: bool cascadingS…

Linux硬盘性能测试工具 - FIO

1.安装&#xff1a;方法一&#xff1a;直接用指令yum -y install fio方法二&#xff1a;如果方法一不可行则&#xff0c;在官网http://freshmeat.net/projects/fio/下载fio的安装包。安装方法很简单。解压缩后&#xff0c;进入目录输入./configure make make install。2.执行…

linux下vmware tools工具共享

(1.)现在windows 创建一个文件件linux,添加一个test.txt文件(2).虚拟机—设置&#xff08;red hat linux挂载起来&#xff0c;或运行&#xff0c;有的时候都处于禁用状态&#xff0c;如果这样就有关闭red hat linux&#xff0c;然后再进行设置&#xff09;--选项 –文件夹共享—…

在全面部署 IPV6 前,你需要了解都在这儿

IPv6 的发展形势 近日&#xff0c;中办国办印发《推进互联网协议第六版&#xff08;IPv6&#xff09;规模部署行动计划》&#xff08;以下简称《计划》&#xff09;&#xff0c;加快推进基于 IPv6 的下一代互联网规模部署&#xff0c;计划指出到 2018 年末国内 IPv6 活跃用户数…

Qt中文手册 之 QApplication

QApplication管理GUI程序的控制流和主要设置。 QApplication包含由窗口系统和其他来源处理过和发送过的主事件循环。它也处理应用程序的初始化和收尾工作,并提供对话管理。QApplication可以对系统和应用的大部分设置项进行设置。 对于用Qt写的任何一个GUI应用,不管这个应用…

微信真要做操作系统了?

整理 | 仲培艺转载自CSDN&#xff08;ID:CSDNnews&#xff09;微信爸爸又带着小程序搞事了&#xff0c;一夕之间&#xff0c;小程序界面“变天”&#xff0c;类操作系统来了。「微信二楼」&#xff1a;欢迎来到小程序的世界下拉即见又一个手机桌面&#xff1f;&#xff01;1 月…

netsh命令修改ip

当前笔记本的可移动性增强&#xff0c;我们需要在多个环境下接入网络开始工作&#xff0c;在没有路由器自动分配的情况下&#xff0c;就需要每次手动设置IP地址和网关等信息&#xff0c;相当烦琐&#xff0c;通过实践利用netsh命令用快捷方式实现了IP地址的快速切换。A. 基本用…

谷歌Waymo自建车厂,L4级无人车量产指日可待

编译整理 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;现在&#xff0c;Waymo 宣称世界上第一家 100&#xff05; 致力于大规模生产 L4 自动驾驶汽车的工厂&#xff0c;即将诞生。美国当地时间 1 月 22 日&#xff0c;Google 旗下无人驾驶公司 Waymo 宣布&a…

Qt中文手册 之 QTableWidget

简介: QTableWidget是基于QTableView的一个默认的视图模型;它用于显示一个标准的表格。表格中每一个项通过QTableWidgetItem来实现。 头文件:#include <QTableWidget> 继承自:QTableView 成员函数: 1、QTableWidget::QTableWidget(QWidget * parent = 0) 默认构…

vue-cli 使用小技巧

1.关闭烦人的eslint 语法检测&#xff0c;在 config 文件夹下 设置&#xff1a; // Use Eslint Loader? // If true, your code will be linted during bundling and // linting errors and warnings will be shown in the console. useEslint: false, //设置为false 2.引入sc…

架构师成长之路-个人学习经验分享(公司研发峰会演讲ppt)

前天在公司分享了一些学习经验,园子中感兴趣可以看看。建议大家使用pptPlex来看这个片子。 首先从我在成长中不同阶段的工作和体会来谈不同阶段的学习内容谈起&#xff0c;为了做好这些必修课&#xff0c;我会对知识&#xff0b;实践&#xff0b;思考&#xff0b;心态&#xff…

Qt 事件处理和事件过滤器的返回值总结

事件处理&#xff1a; 1、返回 true&#xff1a;告诉Qt已经处理的这个事件 2、返回 false&#xff1a;Qt会把这个事件传递给它的父窗口部件来处理 3、返回 基类的event&#xff08;QEvent*&#xff09;&#xff1a;Qt把这个事件交个它的基类来处理&#xff08;注意与返回 fa…

C++转Python这三年,我都经历了什么?

作者 | asya f&#xff0c;计算机视觉专家&#xff0c;编程语言铁粉。译者 | 安翔&#xff0c;责编 | 沭七转载自 CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;很多人都说用 Python 编程十分简单&#xff0c;即便是 6 岁的小孩也可轻松学会。我自己最开始使用 Python 编…

炎热夏天到底如何让自己更凉快? - 生活至上,美容至尚!

酷暑难耐&#xff0c;晚上睡觉都不能睡好&#xff0c;早上一起来就大汗淋漓&#xff0c;天气越来越热 火辣辣的太阳,让人食欲一落千丈。 如何让食物和调料成为闷热天气解暑良方呢&#xff1f; 根据中医对中药性能的四气五味理论&#xff0c;凡是寒性或凉性的中药&#xff0c;都…

华为又一重拳!全球首款5G基站核心芯片“天罡”发布!

作者 | 孙浩峰来源 | CSDN云计算&#xff08;ID:CSDNcloud&#xff09;1 月 24 日&#xff0c;华为在北京举办 5G 发布会暨 2019 世界移动大会预沟通会&#xff0c;发布了全球首款 5G 基站核心芯片——华为天罡&#xff0c;致力打造极简 5G&#xff0c;助推全球 5G 大规模快速部…

Qt中文手册 之 QTreeWidget

头文件:#include<QTreeWidget> 继承自:QTreeView 属性: 1、columnCount : int 树中有多少列,默认是1; intcolumnCount() constvoidsetColumnCount(int columns) 2、topLevelItemCount : constint 树中有多少顶层项,默认是0; 成员函数 1、QTreeWidget::QTreeW…

12. 17 哈理工网络赛

An Easy Geometry Problem Description Lily is interested in hyperspace recently, and she is trying to solve an easy problem now. Given an n-dimensional hyperspace, assuming each dimension is a1, a2, a3, ..., an. And for each i (1 ≤ i ≤ n), j (i < j ≤ …