如何捅破python编程的那层纸

如何捅破python编程的那层纸

   一些朋友自学python过程中,发现书也能看懂,书上的玩具代码也能看懂,但为啥自己不能做习题,不能写代码解决问题,自己不能动手写代码?
原因是初学者没有学会计算思维、解决问题的方法、编程思路。
编程思路的养成需要一个过程的,在编码过程中思考,多动手敲代码。
有时候,想不明白的地方,有人稍微点破一下,那层纸就很容易破。
请看下面的例子。

编程思路一:

经常有人问,一个文本文件,要抽取多少行以后的文本。
相信记数循环,大家都看得懂,也会写。下面的代码就是利用记数循环来解决这个问题。

代码一:
一个几百M的文本文件,需要每隔1000行写到新的文件中。
不要小看了计数循环,用计数循环和判断语句就可以解决这个问题。

# coding:utf-8
"""
迪艾姆python远程视频培训

咨询:qq:1465376564

"""
with open(‘dist_1.txt‘,‘r‘) as f1 ,open(‘dist_new.txt‘,‘w‘) as f2:
    i = 0
    for line in f1:
        i += 1
        if i % 1000 == 0:
            f2.write(line)

代码二:
请问一个日志文本文件有2000行,我要提取其中的100行到200行,怎么做?
你可以试试下面的方法。
别小看while计数循环,其实它可以用来干很多事。
#coding:utf-8
i = 0
file1 = open("test.txt","r")
file2 = open("out.txt","w")
while True:
    line = file1.readline()
    i += 1
    if 100<=i and i<=200:
        file2.write(line)
    if i >200 :
        break
    if not line:
        break
file1.close()
file2.close()

编程思路二:

#coding:utf-8
"""
本代码由迪艾姆公司黄老师所写,思路大家自己看代码。

抓了a,b,c,d4名犯罪嫌疑人.其中有一名是小偷,审讯中:
        a说我不是小偷
        b说c是小偷
        c说小偷肯定是d
       d说c胡说!
其中有3个人说的是实话,一个人说的是假话,编程推断谁是小偷。
(用穷举法和逻辑表达式)

"""

for thief in [‘a‘,‘b‘,‘c‘,‘d‘]:

      sum = (thief != ‘a‘) + (thief == ‘c‘) + (thief == ‘d‘) + (thief !=‘d‘)
      if sum == 3:
          print "小偷是:%s " % thief

总结:     学习python编程,先学会过程式编程,再过度到面向对象的编程范式。     学会函数抽象、类抽象。一步一步养成计算思维、学会解决问题的方法、编程思路。     这个需要一个过程,也不要操之过急。     看一下这些视频,可能对你有些帮助。

时间: 2024-10-16 07:48:52

如何捅破python编程的那层纸的相关文章

如何捅破python编程的那层纸之三

# coding:utf-8 """ 贴吧上有人问 定义一个函数,名字为sameSums(aList),alist是一个整形list,函数作用是判断能分成两组,使得两组数字的和相等.若可以择返回值是true,若不可以返回值是false.如下例: sameSums([4, 7, 6, 3]) --> True //4+6 = 10 and 7 + 3 = 10 sameSums([3, 3]) --> True sameSums([4, 12, 16]) -->

如何捅破python编程的那层纸之二

# coding:utf-8 """ 贴吧上有人问 定义一个函数,名字为sameSums(aList),alist是一个整形list,函数作用是判断能分成两组,使得两组数字的和相等.若可以择返回值是true,若不可以返回值是false.如下例: sameSums([4, 7, 6, 3]) --> True //4+6 = 10 and 7 + 3 = 10 sameSums([3, 3]) --> True sameSums([4, 12, 16]) -->

Python:编程“八荣八耻”

以动手实践为荣,以只看不练为耻. 以打印日志为荣,以单步跟踪为耻. 以空白分隔为荣,以制表分隔为耻. 以单元测试为荣,以手工测试为耻. 以代码重用为荣,以复制粘贴为耻. 以多态应用为荣,以分支判断为耻. 以Pythonic为荣,以冗余拖沓为耻. 以总结思考为荣,以不求甚解为耻. 刚刚看到,不可尽信,也不可全部不信.理性看待. 1. "以动手实践为荣, 以只看不练为耻" 俺写一个程序时间通常是这么分配的. 70% 的时间用来寻找和阅读现有代码, 如果找到了, 就不用自己写了.如果不够用或

python编程之赋值和拷贝的区别概述及操作excel数据库(图)

python编程之赋值和拷贝的区别概述及操作excel数据库(图)一.赋值在Python中,对象的赋值就是简单的对象引用,这点和C++不同,如下所示:a = [1,2,"hello",['python', 'C++']] b = a在上述情况下,a和b是一样的,他们指向同一片内存,b不过是a的别名,是引用.我们可以使用bisa 去判断,返回True,表明他们地址相同,内容相同,也可以使用id()函数来查看两个列表的地址是否相同.赋值操作(包括对象作为参数.返回值)不会开辟新的内存空间,

python程序员常用英语词汇,不会英语想学python编程的(收藏)

很多小伙伴们都在问小编:"我不会英语,想学python编程,怎么办",相信这个问题困扰了太多太多想学习编程但是英文不好的小伙伴吧.那么小编告诉你,可以.小编整理了最最常用的词,需要全部的加Q君羊 八八三四四四一零六 在君羊文件里 其实小编的英语也不好,其实学习编程不用担心英语不好的,毕竟常用的单词就那么多,只要把常用的单词学会了,你的代码就一样可以写的6到飞起,编程和英语的关系其实非常的简单和纯粹. 下面小编就整理了一些常用的单词,小伙伴们可以在闲暇时间看看,翻开读一读,以后就不用担心

python编程技巧

python编程中常用的12种基础知识总结: 正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换目标: 将字符串line中的 overview.gif 替换成其他字符串 >>> line = '<IMG ALIGN="middle" SRC=\'#\'" /spa

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

Python编程和 Lua编程的比较

Python编程和 Lua编程的比较 2016.4.21 定义函数: python: def functionname( parameters ): "函数_文档字符串" function_suite return [expression] lua: --[[ function returning the max between two numbers --]] function max(num1, num2) if (num1 > num2) then result = num

python 编程实例 1

#python 100 例 1.py #题目:有 1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多 #少? a = {} c = 1 for i in range(1,5): for j in range(1,5): for k in range(1,5): if (i != j,i !=k ,j!= k): #                print (i,j,k) a[c]=(i,j,k) c = c + 1 print (a) #把结果输入到字典 a中,并用c记数