内容简介:首先,这 100+ 练习题根据难易程度分为三个等级:Level 1、2 和 3。下面对如何定义这三个 Level 进行了说明,大家可以结合自身的学习能力和实践经验进行选择。Level 1:初级。刚入门 Python 或者正在学一些基础课程的同学们。通常包含 1 到 2 个类或函数的问题都可以解决,甚至答案都可能在一些教材中就能找到。
春节马上就要到了,怎么能让自己在假期里不掉队?今天,给大家准备一个项目: 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 1Level 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 2Level 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 3Level 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: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64} Hints: In case of input data being supplied to the question, it should be assumed to be a console input. Consider use dict()
Question 4Level 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 5Level 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(2000, 3201): if (i%7==0) and (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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- [Vue 2.x Todo 教程练习参考答案] 标为完成练习参考答案
- [Vue 2.x Todo 教程练习参考答案] 添加todo练习参考答案
- [Vue 2.x Todo 教程练习参考答案] 入门仪式_Hello_Vue练习参考答案
- 一些问题的答案
- Runtime经典面试题(附答案)
- Java面试要点-数据存储-精简答案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
加密与解密(第4版)
段钢 / 电子工业出版社 / 2018-10-1 / 198
《加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要......一起来看看 《加密与解密(第4版)》 这本书的介绍吧!