selfteaching-learning-notes.github.io icon indicating copy to clipboard operation
selfteaching-learning-notes.github.io copied to clipboard

1901100271-自学训练营学习19群-Python14天入门

Open noodleCYF opened this issue 6 years ago • 5 comments

学员信息

  • 学号:<1901100271>
  • 学习内容:<day1的内容,主要是熟悉GitHub和GitHub desktop;主要包括repository,branch,commit,pull request等功能的使用;还有fork和issue以及如何提交自己的作业>
  • 学习用时:<5个小时>

学习笔记

<1·第一次自己使用GitHub,之前只是在大多数的程序员的聊天中得知这个东西。但并不知道它功能之强大。GitHub是Linux的创始人Linus创建了,还有一段小历史呢。> <2·还只是对GitHub的功能进行初探,就对其运行之流畅而惊叹。不愧是大牛之作。> <3·在这里讲GitHub的一个杀手锏,就是同步文档编辑和追踪的功能,直接秒杀MS word。怎么说呢,不知道你是不是有遇到这样的时刻,在MS word里写论文或者是写项目书的时候,遇到想删除一个段落,又怕将来恢复找不回来,怎么办?使用“另存为”……结果,论文一长,就出现了很多另存为的版本,然后写到一半,突然想到之前某个删掉段落可以补到后面去,此时,你在密密麻麻的另存为文档里很难一下子发现哪个是你要的。瞬间崩溃……而GitHub是不会有这样的问题的,因为它支持多人同时编辑同一个文档,并且能够实时同步,多么方便。>

遇到的难点及解决方案

<对于GitHub中各种新的名字还不是非常了解,branch,pull request,commit,merge,除了看参考资料外,自己也找了一些中文的解释文档进行阅读,增进理解。> :laughing:

问题

<为什么fork其他的repository后,只显示code,而没有同步他们的pull request,issue啊什么的?是不是因为这样fork的成本低,如果是全复制的话,电脑会承受不住?> @liujiayi0042

noodleCYF avatar Aug 09 '19 12:08 noodleCYF

学员信息

  • 学号:<1901100271>
  • 学习内容:<day3的内容,在阅读浓缩课程之后,使用python编写一个支持加、减、乘、除功能的计算器,支持输入参数,支持输出结果。>
  • 学习用时:<4个小时>

学习笔记

1. day3的任务的day2的 helloworld 的基础上大幅提升了难度,与市面上大多数的教程不同,并不是循序渐进,体现了自学的重要性。 2. 看完了作业任务,还没有看自学资料之前,自己心里已经有写想法。

编写⼀个⽀持 加、减、乘、除功能 的计算器,⽀持输⼊参数,⽀持输出结果

首先要有输入数字运算,选择运算符号的语句,最后就是通过输入结果进行输出的语句。但是,在通过搜索关键字看了材料之后,第一遍写出来的却得不到想要的结果。是这样子的:

Num1 = input('请输入第一个数字:')
Num2 = input('请输入第二个数字:')
operation = input('请选择运算符号:+,-,*,/:')
result = Num1 + operation + Num2
print(result)

就一直在找怎么样才能让计算机知道输入的“2”是数字类型呢,还有怎么让计算器知道选择的运算符号就是其对应的计算功能呢?然后就带着问题在资料里面,百度google里面搜答案。先通过对input的数字进行类型确定,然后通过if语句将选择的符号进行运算赋值,让计算机知道“+”就是两个数字相加的意思,以此类推。最后再加入一个语句提示如果选择错了运算符号,就报错重新输入。结果是这样子的:

Num1 = float(input('请输入第一个数字:'))
Num2 = float(input('请输入第二个数字:'))
operation = input('请选择运算符号:+,-,*,/:')   
if operation == '+':
    print(Num1,"+",Num2,"=",Num1+Num2)
if operation == '-':
    print(Num1,"-",Num2,"=",Num1-Num2)
if operation == '*':
    print(Num1,"*",Num2,"=",Num1*Num2)
elif operation == '/':
    print(Num1,"/",Num2,"=",Num1/Num2)
else:
    print("请输入正确的运算符号")

好吧,再简化不过的计算器了。也是小白作品吧。纪念下。

遇到的难点和解决方案

**1.**就是告诉计算机输入的值代表什么意思,以及什么类型。 **2.**不要把作业复杂化,比如说刚开始就要写出一个可以适用复杂计算的计算器,那真的搞到头大。因此,把问题简单化也很重要。复杂的情况,后面慢慢来嘛。 @liujiayi0042

noodleCYF avatar Aug 13 '19 06:08 noodleCYF

学员信息

  • 学号:<1901100271>
  • 学习内容:<day2的内容,主要是安装anaconda和VS code软件,并在anaconda中安装python,jupyter lab和jupyter notebook;并使用python打印出“hello world”程序;使用jupyterlab阅读李笑来老师的书《自学是门手艺》>
  • 学习用时:<4个小时>

学习笔记

1· 自己之前倒腾过python,电脑里面已经有了anaconda和python,但是很久之前弄的了,不想由于之前一些小细节或者是版本不同导致后面软件运行不一样,我就重新安装了这些软件。 2· 在VS code中配置python的环境遇到了困难,参考资料全英版的,虽然单词都能看懂,但就是不知道组合起来的句子是啥意思,有点文盲的感觉,最后实在不行,通过搜索找到其他中文的VS code调试说明,尝试了至少5个不同的配置方法,最后应该是达到了任务的要求,就是VS code里面能够运行python,并且能够有语法检查和代码提示等功能。在这部分大概花费了3个钟。 3· 编写hello world程序倒是比较快就搞定了,毕竟很多的python课程中,第一课就是教这个。 4· 第一个用jupyterlab阅读可随时改动和编写,并且记录自己阅读过程的书籍,真是挺神奇的,由于自己投资过区块链,知道Pow——proof of work,在这里也加深了对其的了解。

遇到的难点和解决方案

  • 主要就是VS code中配置python环境的问题了。刚开始看官方文件没有看懂,主要是按照操作方式没有得到跟官方一致的结果。加上自己对于本部分的任务目的不清楚。所以就蒙圈了。
    • [x] 最后通过搜索浏览器看一些中文版的配置说明完成了任务。

fighting !

noodleCYF avatar Aug 15 '19 05:08 noodleCYF

学员信息

  • 学号:<1901100271>
  • 学习内容:<day4的内容,自学python中的条件语句和循环语句的使用>
  • 学习用时:<4个小时>

学习笔记

  • 通过针对性地阅读官方文档,找寻需要使用的编程语句,完成任务。就像阅读过程中遇到不懂的字词然后去查字典似的,这应该就是《自学是门手艺》中定义的自学的意思了吧。
    • 在第一个任务,采用for...in语句打印九九乘法表的时候。比较顺畅地写出了结果,但是,由于print语句是自带换行的,所以在官方文档中找了很久,看怎么修改print语句不换行,最后,居然在作业的文档的后面找到了答案
    • 第二个任务,是采用while语句来打印九九乘法表,并用条件语句把偶数行去掉。只输出奇数行的乘法表格。在for的基础上,也是比较顺利的完成了while语句的打印。

遇到的难点和解决方案

  • 本次任务还好,比较顺畅的完成了。主要是print语句的换行问题耽搁了一点时间。

noodleCYF avatar Aug 15 '19 06:08 noodleCYF

学员信息

  • 学号:<1901100271>
  • 学习内容:<day5的内容,掌握python中基本数据类型>
  • 学习用时:<10个小时>

学习笔记

本次遇到的难点比较多,作业也是比较多的。主要是在不同值之间的数据类型之间的切换和操作。包括布尔值、数字、字符串、列表、元组、集合和字典。

  • 当要在text里面找到包含“ea”的字符串并且删掉对应的单词的时候,要把text的格式从srt变成list,由此一来,原来单篇的str就变成了list里面的一个个单词str,然后采用string的查找操作函数和list的删除函数就可以完成这个难题了。
  • 任务1的解决在于对string和list中函数的应用,有些需要切换成string,有些需要切换成list格式
  • 任务2把我难倒了,按照任务2的顺序做的话,将dict变成了tuple格式之后,由于tuple无法修改里面的内容,我就没办法去按照要求把非字母的字符删掉。最后是通过查看其他同学的作业,发现是先做数据处理,在string的格式下先把非字母字符去掉,再把所有单词统一小写,然后再进行统计和排序,同样的,dict里也有统计的function。
  • 任务3遇到了两个难题。
  1. 当列表中的数据类型是数字的时候,是没法直接拼接成string的,通过搜索引擎找到了map函数,将list中的int转换成str就解决了。
  2. 第二个是字符串反向读取的问题,最后采用把不长设为-1的方式解决了。

遇到的难点和解决方案

  • 遇到的难点是数据类型之间的转换和操作指令不熟悉。解决方案除了阅读搜索文档,还有直接上搜索引擎提问,还有就是看看其他同学是怎么做到的,但是通过自己的方式来完成。

noodleCYF avatar Aug 21 '19 07:08 noodleCYF

学员信息

  • 学号:<1901100271>
  • 学习内容:<day6的内容,掌握函数的用法>
  • 学习用时:<4个小时>

学习笔记

  • 任务1:封装统计英文单词词频的函数。这个比较快就完成了,采用def函数语句,最后return输出的词频结果。
  • 任务2:封装统计中文汉字字频的函数。这个卡在了如果判断一个字符为汉字字符上。最后在网上搜索如何判断一个字符为汉字,找到了千奇百怪的结果。一个个尝试,最后找到了解决方案。

遇到的难点和解决方案

  • 如何判断一个字符为汉字。通过判断其Unicode码的范围是否落在u4e00-u9fa5,注意u是小写的,而且要在u前面加上“\”。

noodleCYF avatar Aug 31 '19 15:08 noodleCYF