我暂定题主的“学了一个学期”指的是学习小学/初中/高中/大学学业之余学习python,持续了一个学期了。那题主的背景大概跟我差不多。
不知题主以前有没有编程基础,如果没有,那么还是建议题主对着一本python基础教程学习(同意小赖同学的观点),不过如果里面有习题一定要尝试做一下。不管是做出来还是没做出来,习题若附带讲解,最好还是看一下(记不得是谁说的了,网上的答案很多都带有奇技淫巧,更何况python语法糖很多,但是书上的习题,其答案一定是用了所学的知识),更何况没有编程基础,这种时候还是培养自己的编程思维。
然后若是有基础,那题主学python的语法应该是很轻松的吧(如果先前学的是c之类的那另当别论,对于python的弱变量定义可能会很恼火XD)。如果做题的时候,发现是语法记不住,函数记不得,那还是对着python的函数/模块索引看一看,熟悉熟悉,遇到自己不熟的写代码试试(解释型语言,试验起来轻松许多),然后就能逐渐掌握了。至于索引在哪找,可以参见官方教程http://docs.python.org,有中文;国内的菜鸟教程也可以看看,下面有的会有其他程序员的笔记和注解。
当然题主还有可能是:有工具,想不出来。这就有点像打acm或oi不会写的情形。那就是数据结构/算法有所欠缺。数据结构常见的有:栈、队列、二叉树(n叉树)、链表(python的list感觉就像链表)、堆等等,算法太多太多而且我也记不太清楚了(oi学得不好),思想倒是还记得一些——动态规划、分治、贪心等等。这个补起来可能要费事一点,我的观点是:找网课学、听/看/想别人解题的方式。因为我学的也不好,我只能抽象的讲一讲。
补充一点:题主答不上来题可能还是心态的问题,就是想着“我能不能一遍通过”“写demo太累了,我干脆一步搞个完整版”“我一定要写个内存第一/时间第一”之类的,我们以前oi老师说,这种心态一定不能有,尤其是初学者。对自己第一步要求过高,可能会影响思维,导致想不出来结果,一看答案感觉好弱智,就恶性循环了。
总之,抽象来说:脚踏实地。我只能做做这种总结了....(逃)
以上