python编程题目答案_100+Python编程题给你练~(附答案)

68bdb11a0ea5cf7b2b029f33b9165f35.jpg

整理 | 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 1Level 1Question: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 1Question: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:8Then, the output should be:40320Hints:In case of input data being supplied to the question, it should be assumed to be a console input.

Question 3Level 1Question: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:8Then, 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 1Question: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,98Then, 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 1Question:Define a class which has at least two methods:getString: to get a string from console inputprintString: 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*iprint d___________________________________*Solution 4*values=raw_input()l=values.split(",")t=tuple(l)print lprint 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。)◆公开课预告◆

主题:端侧卷积神经网络发展及其应用

时间:1月24日晚8点

讲师:李战斌(支付宝算法专家)

7deeef621bc1b6dde4cc04f91ef9bd1c.jpg

推荐阅读

3c4317f306518d72da8ff575fe80a2cf.png

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值