【Python学习记录】Python入门,Crossin的编程教室打卡记录

以前的学习记录,Crossin先生编程教室打卡学习记录!

Python入门:

https://crossincode.com/course/lesson_list/

pic_001.png

打卡记录:

pic_002.jpg

7天代码挑战-第5期-上班组


day1:

【参考任务】

完成python安装,最新版即可。如果系统不支持最新版,可选择3.4版本。建议不要用python2。

选一个称手编辑器(自带的idle、推荐pycharm、sublime...) 输出一句“hello world”


知识点

控制台/命令行

IDE


参考阅读

1.安装

3.IDE

=======================

【二刷参考任务】

输入两个值想x,y    

输出这个坐标代表点在坐标系的哪个象限。

逻辑嵌套

同时使用 if、 elif、 else,并且在一个条件内部,包含另一个条件判断


知识点

if/elif/else语句

多层判断的嵌套


参考教程

23.if,elif,else

24.if的嵌套

=======================

【三刷参考任务】

列表与字符串的转换

1.将一句英语句子按空格分割成列表。

('I am a coder' -> ['I','am','a','coder'])

2.将列表中的每个元素合并成一个字符串。

(['I','am','a','coder'] -> 'I am a coder' )


知识点

字符串分割成列表

列表拼接成字符串

字符串的索引和切片


参考教材

28.字符串的分割

29.连接list

30.字符串的索引和切片


打卡-参考代码:

#2019/08/23
def division(str1):
    resurt_str=str1.split(' ')
    print(resurt_str)
    return resurt_str

def merge(list1):
    str=''
    #for i in list1:
        #str1='%s%s%s'%(str1,' ',i)
    str1=' '.join(list1)
    print(str1)
    return str1

if __name__ == '__main__':
    str1=input("请输入带空格的英文句子:")
    list1=division(str1)
    merge(list1)


def judge(x,y):
    if x>0 and y>0:
        print("改坐标在第一象限!")
    elif x==0 and y==0:
        print("改坐标在原点!")
    elif x<0 and y<0:
        print("改坐标在第三象限!")
    elif x>0 and y<0:
        print("改坐标在第四象限!")
    elif x<0 and y>0:
        print("改坐标在第二象限!")
    else:
        print("改坐标在轴上!")

if __name__ == '__main__':
    x=eval(input("请输入数字x的值:"))
    y = eval(input("请输入数字y的值:"))
    judge(x, y)


day2:

【参考任务】

通过input获取输入台控制,需要有输入提示。

将获取的输入再通过print输出到控制台,并加上一些额外的文字。


知识点

print语句

input语句

不同类型的输出(字符、数字、计算式、比较大小)、一次输入多个不同的值、输出不换行、换行符的使用


参考阅读

2.print

4.输入

pic_005.jpg

=======================

【二刷参考任务】

改写猜数字优秀,使得猜对之后通过break直接跳出循环

附加题:猜数字游戏猜对后可以重复游戏

循环嵌套

在一个循环内容,实现另一个循环。

分别使用break和continue语句跳出循环


知识点

多层循环的嵌套

循环的跳出:break/continue


参考教材

15.循环的嵌套

34.break

35.continue

=======================

【三刷参考任务】

读写文件

读取一个有多行文字的文件,将每一行分别存为一个文件


知识点

读文件

open

写文件

文件打开模式


参考教材

31.读文件

32.写文件


打卡-参考代码:

#2019/08/24
#猜数游戏
# -*- coding: UTF-8 -*-
from random import randint
#猜数游戏模式设置
def model():
    print("猜数游戏模式设置,设定数字模式为Y/y,否则将将进入随机猜数模式")
    model=input("请确认是否进入设定数字模式:")
    if model=="Y" or model=="y":
        num=eval(input("设定数字模式开启已确认,请输入你设定的正确数字答案:"))
        print("数字答案已设定!")
    else:
        print("您未确认设定数字模式,现在将将进入随机猜数模式")
        num =randint(1,10)
        print("随机数字答案已生成!")
    return num

#猜数游戏
def play(num):
    print("猜数字游戏开始了,猜猜正确的数字是多少?")
    bingo = False
    while bingo == False:
        answer = int(input("请输入你猜的数字:"))
        if answer == num:
            print("哇,也太厉害了吧,就猜对了啊!")
            print("是否还想继续玩游戏?确认继续玩游戏请确认输入Y/y,否则输入其他退出游戏!")
            confirm = input("请是否确认继续游戏:")
            if confirm == "Y" or confirm == "y":
                print("还想继续玩游戏?那就满足您!")
                continue
            else:
                print("游戏结束!")
                break
        elif answer < num:
            print("不对,不对,你猜的答案太小了哦,继续猜吧,加油!")
        else:
            print("噢,糟糕,你猜的答案太大了哦,换个小点的数字试试吧!")


if __name__ == '__main__':
    num=model()
    play(num)


#读取文件内容按行存储文件
# -*- coding: UTF-8 -*-
#读取文件内容并整理内容
def fetch():
    path=r'C:\Users\Administrator\Desktop\cs\cs.txt'
    f = open(path, 'r')
    data=[]
    for line in open(path):
        line = f.readline()
        line=line.replace('\n','')
        data.append(line)
    print(data)
    f.close()
    return data

#读取保存为txt
def preserve(data):
    i=1
    for content in data:
        path=f'C:\\Users\\Administrator\\Desktop\\cs\\{i}.txt'
        with open(path,'w',encoding='utf-8')as f:
            f.write(content)
        print(f'保存{i}.txt文档成功')
        i=i+1

if __name__ == '__main__':
    data=fetch()
    preserve(data)

pic_006.jpg


day3:

【参考任务】

从控制台获取输入,赋值给变量,进行一些计算处理后,再输出。


知识点

不同类型的变量

变量的赋值、计算

+=操作符


参考阅读

5.变量

10.变量2

pic_007.jpg

=======================

【二刷参考任务】

将不同的字符串、数字、计算式分别转为bool类型


知识点

类型

类型转换

type方法

不同类型转成bool值的结果


参考教材

17.类型转换

18.bool类型转换

=======================

【三刷参考任务】

处理文件数据

读取含有所有学生成绩的文件,计算出每个人的总分,保存成新文件


例:

姓名 语文 数学 英语 物理 化学 生物 政治 历史 地理

小赵 73 85 80 82 93 41 64 87 55

小钱 33 91 81 92 72 50 50 65 83

小孙 95 64 87 79 34 70 45 72 87

小李 87 34 81 58 73 41 46 74 97

小周 54 58 66 65 42 43 70 33 89

小吴 55 83 80 94 90 86 44 33 64

小郑 84 93 59 94 86 71 69 81 71

小王 75 83 31 53 72 34 33 64 80

小冯 36 74 83 69 57 78 73 59 58

小陈 98 90 64 71 90 65 40 33 89

小楮 90 47 70 34 88 73 69 74 60

小卫 70 67 33 96 94 69 62 72 72

小蒋 82 43 63 70 60 67 54 69 92

小沈 94 95 72 86 78 78 43 95 96

小韩 83 70 36 74 50 56 38 93 78

小杨 86 93 87 46 75 44 45 60 81

小朱 97 91 88 86 86 54 61 56 82

小秦 47 51 64 78 89 91 37 94 61

小尤 74 67 63 53 34 89 56 66 76

小许 50 72 99 31 38 92 62 92 65

小何 86 40 86 57 76 92 79 95 52

小吕 51 33 81 48 95 80 51 81 99

小施 88 74 38 48 78 87 96 88 90

小张 43 87 44 88 95 78 91 42 94

小孔 37 86 88 83 80 90 31 78 37

小曹 63 53 55 94 45 55 73 91 78

小严 36 71 77 60 91 79 90 37 61

小华 53 85 85 72 62 87 94 73 34

小金 78 84 77 42 79 82 50 74 94

小魏 75 57 38 85 58 60 97 99 69


知识点

read/readline/readlines

write/writelines


参考教材

33.处理文件中的数据


打卡-参考代码:

#2019/08/26
#读取文件内容并求和写入文件
# -*- coding: UTF-8 -*-
path=r'C:\Users\Administrator\Desktop\cs\cs.txt'
f = open(path, 'r')
str=f.read()
f.close()
datas=str.split('\n')
datas=datas[1:-1]
for data in datas:
    #score=0
    #data=data.split(' ')
   for mark in data[1:]:
        #score=score+int(mark)
   print(f'{data[0]} 总分:{score}')
    with open(r'C:\Users\Administrator\Desktop\cs\score.txt','a+',encoding='utf-8')as f:
        f.write(f'{data[0]} 总分:{score}\n')
    print(f'保存{data[0]} 总分成功!')

pic_008.jpg


day4:

【参考任务】

实现一个if语句,可以根据输入的不同做出不同输出


知识点

bool类型

比较运算符

逻辑运算符

if条件语句的使用

缩进的作用


参考阅读

6.bool

7.if

=======================

【二刷参考任务】

函数

自定义一个函数,使用参数和返回值,实现将两个值相加的功能


知识点

函数的定义和使用

返回值

参数


参考教材

19.函数

21.函数的参数

22.函数的应用示例

=======================

【三刷参考任务】

异常处理

读取一个不存在的文件,用异常处理保证程序不出错,并给出提示


知识点

try---catch


参考教材

36.异常处理


打卡-参考代码:

#20190826
#函数及参数调用
def sum(a,b):
    sum=a+b
    print(sum)
    return sum

#异常处理
def wrong():
    try:
        with open('csssssss.py',encoding='utf-8')as f:
            data=f.readline()
        print(data)
    except Exception as e:
        print(e)
        if "No such file or directory" in str(e):
            print("该目录下文件不存在!")

if __name__ == '__main__':
    wrong()
    print(sum(2,5))


day5:

【参考任务】

实现一个循环,让之前写的代码可以反复执行


知识点

while循环的使用

for循环的使用


参考教材

8.while

12.for循环

pic_011.jpg

=======================

【二刷参考任务】

函数的参数

给昨天的函数提供默认参数

定义一个不限参数个数的函数


知识点

函数默认参数

函数传递参数的几种方式


参考教材

42.函数的默认参数

67-69.函数的参数传递

=======================

【三刷参考任务】

字典

用字典类型存储一样物体的不同属性(比如一本书的书名、作者、售价等),并输出具体的某个属性值


知识点

字典基本概念

参考教材


37.字典

打卡-参考代码:

#20190827
#字典

def dict():
    practise = {
    "project": "Crossion先生",
    "group": "7天代码挑战-第五期",
    "grouping": "上班组",
    "date": "2019-08-27",
    "name": "追逐"
    }

    print(practise)
    print(practise["name"])
    print(practise.get("name"))
    for i in practise:
        print(i)
        print(i, practise[i])
        print(i, practise.get(i))
    for x, y in practise.items():
        print(x, y)


day6:

【参考任务】

输出带引号的文字

将一段文字和数字拼出新的文字


知识点

字符串类型

三种引号

字符串格式化


参考阅读

13.字符串

14.字符串格式化

=======================


【二刷参考任务】

创建一个至少包含4个元素的列表,然后输出其中的第3个数据


知识点

列表的概念和索引操作


参考教材

25.初探list

=======================

【三刷参考任务】

变量的作用域

定义一个全局变量 count,在每次函数执行时对其+1,得到函数的调用总次数


知识点

变量作用域

全局变量

参考教材


69.变量的作用域

打卡-参考代码:无


day7:

【参考任务】

导入并使用random模块,产生随机数


知识点

import语句

random模块

math模块


参考阅读

9.random

38.模块

52.数**算

59.随机数

pic_014.jpg

=======================

【二刷参考任务】

列表的操作

对昨天创建好的列表进行添加元素和删除元素的操作


知识点

列表的切片、添加、删除等操作


参考教材

26.操作list

27.list切片

=======================

【三刷参考任务】

网络请求

通过天气预报接口,获取某个城市的天气


知识点

requests库


参考教材

43-45.查天气


打卡-参考代码:

#20190829
#天气查询例子
# -*- coding: UTF-8 -*-
import requests
from tkinter import *

def wearther():
    global e
    global city
    city=e.get()
    print(city)
    url=f"http://wthrcdn.etouch.cn/weather_mini?city={city}"
    html=requests.get(url).json()
    weather=html['data']
    #print(weather)
    #昨天天气情况
    yesterday_weather=weather['yesterday']
    #天气预报
    forecast_weather=weather['forecast']
    #今天天气情况
    today=forecast_weather[0]
    #日期
    date=today['date']
    #最高温
    high=today['high']
    #风力
    fengli=today['fengli']
    #最低温
    low=today['low']
    #风向
    fengxiang = today['fengxiang']
    #天气情况
    type = today['type']
    print(f"{city}天气查询结果:")
    result=f'查询城市:{city},\n日期:{date},\n最高温:{high},\n风向:{fengxiang},\n最低温:{low},\n风力大小:{fengli},\n天气情况:{type}。'
    print(result)
    result='%s%s%s'%(f"{city}天气查询结果:",'\n',result)
    text1.insert(INSERT,result)

root=Tk()
root.title("天气查询 by huguo002")
root.geometry("400x300+200+100")
frame = Frame(root)
frame.pack(padx=10, pady=10, ipadx=8)
label1=Label(frame,text="查询城市:").grid(row=3,column=1)
e=StringVar()
entry1= Entry(frame, textvariable=e).grid(row=3,column=2)
button1=Button(frame,text="查询天气",command=wearther).grid(row=3,column=3)
text1=Text(root, width=40, height=15)
text1.pack()
root.mainloop()

个人总结:

1.适合想要学习python的人入门学习

2.相对活跃,知识圈小程序的确值得推荐

3.比较基础,在新人初学方面确实有过研究,还有二刷,三刷可供参考学习

4.免费打卡几乎没有任何点评,全程需要自觉

5.后期需要付费加入学习小组,付费学习帮助程度,由于未参加,有待考量

6.只推荐新人兴趣学习,并不能有更深入的学习,尤其是以入职为目的学习


至于是否付费培训,自行衡量,本文非广告!


还是那句话:

学习,靠自己!

加油!共勉!

pic_017.jpg

入门教程还是比较推荐:

https://crossincode.com/course/lesson_list/

感谢!

建议与廖雪峰python教程对比参照一起学习!


话说 知乎 的确是比较高质量的引流平台,韭菜野蛮生长的温室!

值得深耕!


相关阅读:

【Python学习记录】极客大学,7天入门Python爬虫实战营