一日一更:学习日报

2017年4月17日

今天的学习如下:

1)阅读书籍《Python编程快速上手_让繁琐的工作简单》章节1,章节2. 花费时间30分钟。
由于此前有一定的编程基础。
本次解决了以下几个问题:

  • 关于学习方法: 学会查看Python的相关资料和文档,熟悉Python函数,模块的用法。
    网址有:https://docs.python.org

  • 第二章:流程控制:
    在学习流程控制的章节中,在写代码前,利用流程图梳理控制流程。

章节2的练习题:
利用for,while 写出1-10的数字。number可以去掉。

#!usr/bin/env python 
for i in range(1,11):
   print(" number %s" %(i))


i=0
while i<=10:
   print("number %s" %(i))
   i+=1

2017年4月18日

今天的学习如下:

1)阅读书籍《Python编程快速上手_让繁琐的工作简单》章节3&练习. 花费时间40分钟。
本次获取了以下知识:

  • 创建函数,函数中的一些基本概念,关于return、全局变量与局部变量之间的关系。一般情况下尽量不要使用全局变量。

  • 返回值以及return语句 以及形式参数和实际参数。

  • 异常处理 try expect ,处理过程有点类似于if 和else。

书中的一个小程序:猜数字
源代码如下:

#!usr/bin/env python 
# guess the number 

# This is a guess the number game.
import random
secretNumber = random.randint(1, 20)
print('I am thinking of a number between 1 and 20.')
# Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
    print('Take a guess.')
    guess = int(input())
    if guess < secretNumber:
        print('Your guess is too low.')
    elif guess > secretNumber:
        print('Your guess is too high.')
    else:
        break # This condition is the correct guess!
if guess == secretNumber:
    print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
    print('Nope. The number I was thinking of was ' + str(secretNumber))
  • 从上述源代码可以获取的知识有:
  • 如果要导入模块(函数&函数集合)使用import,代码中导入了随机random,用于来生成随机数,而生成1-20的随机整数,则是用了这样的写法:random.randint(1,20)
  • 对猜词的次数做限制:使用for i in range(1,7),并用控制流if else 以及break
  • 输入的内容:input,int(input()) 将输入内容强制转换为int,当然还可以利用try expect做异常处理。

本章的练习&小实践:
1)练习的部分为对函数的基础概念理解。
2) 实践:

编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,
那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打
印并返回 3 * number + 1。
然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直
到函数返回值1(令人惊奇的是,这个序列对于任何整数都有效,利用这个序列,
你迟早会得到 1!既使数学家也不能确定为什么。你的程序在研究所谓的“Collatz
序列”,它有时候被称为“最简单的、不可能的数学问题”)。

提示:

提示:如果 number % 2 == 0,整数 number 就是偶数,如果 number % 2 == 1,它
就是奇数。

个人解答代码:


#!usr/bin/env python 

def collatz(number):  # define a function named collatz
    if number%2==0:
        return number//2
    else:
        return 3*number+1

# print ('enter a number:')
try:
    number_enter=int(input('enter a number'))
    while number_enter!=1:
           number_enter=collatz(number_enter)
           print(number_enter)
           if number_enter==1:
                print (number_enter)
                break 
# enter number 
except ValueError:
    print("plz enter a number not a string")
# except ValueError:
#   pass

解答过程的心路历程与收获总结:
1) 首先按照题目要求编写了函数,collat() 传递参数,使用return 返回值。在编写过程中,使用print()来查看最终结果。
2) 在要求重复调用函数上,想到了使用while,一开始使用while True,后来将True的条件更换为!=1 。并使用了break,让条件成立时,终止循环。
3)在try的代码里,一开始while代码并未包含在其中,导致出现两次valueerror,经过反思,try 捕捉异常的处理方式与if 流程类似,于是做了更改。

本次学习总结:

1)完成的代码是一个调试+设计的过程,调试的方法有待进一步学习。
2)下一次学习list的内容。

2017年4月19日

今天的学习如下

1)《Python编程快速上手_让繁琐的工作简单》章节4 list 阅读&练习 耗时70分钟左右
本次获取了以下的知识:

  • 理解list 是什么?有哪些方法,以及与之关联的字典,元组还有字符串,某种程度的可以理解为python的数据结构?
  • 解决问题:
实践练习

这个问题:最后解决了。
但是过程还是需要说一说:

1)解决问题要理解问题的本质:这个问题的本质是X,Y的交换,打印出想要的内容。
2)在写代码前,我尝试将这个问题抽象成另外一个问题,写了一段所谓的调试代码,然而,不行!因为没有抓住问题的本质。
3)知识之间的关联性,可以借鉴前一章的内容来理解这一章的问题。

最后是解决的代码:
grid = [['.', '.', '.', '.', '.', '.'],
        ['.', 'O', 'O', '.', '.', '.'],
        ['O', 'O', 'O', 'O', '.', '.'],
        ['O', 'O', 'O', 'O', 'O', '.'],
        ['.', 'O', 'O', 'O', 'O', 'O'],
        ['O', 'O', 'O', 'O', 'O', '.'],
        ['O', 'O', 'O', 'O', '.', '.'],
        ['.', 'O', 'O', '.', '.', '.'],
        ['.', '.', '.', '.', '.', '.']]


def dodd(rod):
    for i in range(len(grid[0])):
        for j in range(len(grid)):
            print(grid[j][i],end="")
            
        # print('')
        print("\n")
    # print('\n')

dodd(grid)

2017年4月25日

今天的学习如下

今天学习了一些Linux的内容,关于在CentOS上安装httpd服务。耗时约1个小时。

环境介绍:

当前的环境是虚拟机virtualbox 下安装的CentOS6 ,与7版本不同httpd2.4的服务内置在7中,不存在考虑依赖关系,直接使用yum或者rpm包安装即可。因此6版本需要通过编译安装httpd2.4。
那么我先解决的问题:
1,虚拟机联通网络:将虚拟机的网络配置改为桥接模式。
2, 获取apr-*相关的安装包进行解压,编译安装。
解决以上问题参考的文档:
http://www.centoscn.com/image-text/config/2015/0627/5741.html

实际操作:
1)yum groupinstall
"Development Tools" "Server Platform Development " -y 先安装dev的相关tools吧。
2)下载安装相关的软件包:

  • 在Apache官网上下载apr软件以及httpd2.4软件 执行如下命令:
    wget http://apache.fayea.com/apr/apr-util-1.5.4.tar.bz2
    wget http://apache.fayea.com/apr/apr-1.5.2.tar.gz
  • 编译安装httpd的内容,获取httpd2.4
    wget http://apache.fayea.com/httpd/httpd-2.4.25.tar.bz2
    安装apr[root@parparxy tmp]# tar xf apr-1.5.2.tar.bz2[root@parparxy tmp]# cd apr-1.5.2[root@parparxy apr-1.5.2]# ./configure --prefix=/usr/local/apr[root@parparxy apr-1.5.2]# make && make install
    安装apr-util[root@parparxy tmp]# tar xf apr-util-1.5.4.tar.gz
    [root@parparxy tmp]# cd apr-util-1.5.4
    [root@parparxy apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr[root@parparxy apr-util-1.5.4]# make && make install

依照文档的顺序进行编译安装,暂时没有出现问题。
接下来解压,编译安装httpd2.4的内容。即今天关于Linux的学习内容告一段落。

关于Python快速上手的阅读 耗时约1个小时。

第六章学习的内容是:string 关于字符串的操作
我提出了以下几个问题,并转换成了读书笔记:

  • 字符串有哪些操作方法?
    字符串方法 upper()、lower()、isupper()和 islower()
    in 或者not in 操作符
    字符串下标和切片
    isX字符串方法,返回TRUE
    字符串方法 startswith()和 endswith()
    字符串方法 join()和 split()
    用 rjust()、ljust()和 center()方法对齐文本
    用 strip()、rstrip()和 lstrip()删除空白字符

  • 字符串与其他的字典以及列表有啥区别不同?

  • 字符串与前面的知识点结合?
    与前面列表,字典以及function相结合,对string进行操作。

  • string的第三方模块?
    第三方模块的使用方法是import模式,导入第三方模块。
    下面一段代码的作用主要是解决在系统范围内copy和paste问题。

>>> import pyperclip
>>> pyperclip.copy('Hello world!')
>>> pyperclip.paste()
'Hello world!'

在IDLE之外运行Python脚本的方法?

 在 Windows 上,第一行是 #! python3。
 在 OS X,第一行是 #! /usr/bin/env python3。
 在 Linux 上,第一行是 #! /usr/bin/python3
除此以外还要在Windows上考虑环境变量的问题。

另外最后有两个项目需要去实践以及练习,这些就留在下次解决。
待解决的问题:

  • 口令保管箱

  • 表格打印

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容