【Python练习题】吃透这150道练习题,轻松搞定Python95%知识点 (含答案解析)

Python入门简单,当我们学完基础知识后,最好的巩固方法就是拿一些练习题练手,综合所学内容,达到输入输出 纠正的完美学习路径。

这里给大家分享一份大佬整理的150道Python练习题,涵盖Python基础内容的方方面面。非常经典。

图片

内容包括:数据类型、基础语法、内置函数、字符串方法、排序算法、简单算法、中等难度算法、地狱级难度算法。每道题均有详细的题目要求;示例代码;难能可贵的是附有详细的解题思路分析,以及所涉及可能会让新手困惑的知识点详解。建议先不看答案,运用自己所学到的知识跑一遍代码,然后再来参照解析。达到最佳练习效果!

部分习题展示,完整版见文末:

  • 【数据类型】不运行程序,说出下方程序运行结果:

4.0 == 4

  • 【字符串】不用代码,口述下方代码执行结果

string=“Python is good”

  • 【简单算法】打印杨辉三角。给定一个正整数N,打印杨辉三角的前N行。杨辉三角形态如下:

1杨辉三角的每一行第一个和最后一个元素都是1;中间的元素,由上一行的两个元素相加得到;第N行的第index元素,是由第N-1行的第index-1元素和第index相加得到的。

  • 【简单算法】已知两个列表

lst_1 = [1, 2, 3, 4]请写算法,将两个列表交叉相乘,生成如下的矩阵

[‘1a’, ‘2a’, ‘3a’, ‘4a’],

  • 【简单算法】求三位数组合

这四个数字能组成多少个互不相同且无重复数字的三位数?请逐个输出

lst = [3, 6, 2, 7]

  • 【排序】选择排序

假设有一个序列,a[0] , a[1] , a[2]…a[n] ,现在对它进行排序。我们先从0这个位置找出最小值,然后将这个最小值与a[0] 交换,然后a[1]到a[n]就是我们接下来要排序的序列。我们可以从1这个位置到n这个位置找出最小值,然后将这个最小值与a[1]交换,之后a[2]到a[n]就是我们接下来要排序的序列。每一次我们都从序列中找出一个最小值,然后把它与序列的第一个元素交换位置,这样下去,待排序的元素就会越来越少吗,直到最后一个def select_sort(lst):

  • 【中等难度算法】将下方给定的字符串中的每个单词逐个翻转。翻转后,空格不能减少,单词之间的空格数量不能发生变化。

输入: " the sky is blue",

如果只是简单的翻转字符串,就过于简单了,因此要求翻转每一个单词,单词还是原来的样子,但是单词所在的位置却发生了翻转,第一个单词变成了倒数第一个单词。字符串是不可变对象,不能直接在字符串上进行翻转,要借助列表(list)进行翻转

  • 【中等难度算法】给定一个整数,请计算二进制中为1的位数

13
如果一个数是奇数,那么它的二级制的最后一位一定是1,道理很简单,其他的位都表示2n 只有最后一位表示20。我们可以利用最后一位是否为1来统计为1的位数,这就需要最后一位是变化的,还好,我们可以利用用位运算符>>(右移位运算符)
13的二进制表示是1101,13>>1就表示二进制的每一位都向右移动一位,移动后为110,最右边的1舍弃。如果二进制最后一位是1,那么一定是奇数。

  • 【地狱难度算法】已知一个有序序列,请原地删除序列中重复出现的元素,返回删除重复元素后的序列长度。只能使用o(1)额外空间来完成这个任务,例如[0,0,1,1,1,2,2,3,3,4,4,4,5],最终返回的长度是6,序列前6个元素是0 1 2 3 4 5

PDF文档预览:

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片
资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓

CSDN大礼包:《python入门&进阶学习资源包》免费分享

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值