100天学python-Day 01

    技术2025-02-09  17

    这里写自定义目录标题

    前言Day 01内容Day 01 练习

    前言

    从今天开始,我将用重新学习python。 为什么用100天这个标题,是因为遵照的是github上一个100天学python的项目 地址如下:day 01 同时,还参考了《a bite of python》以及《笨办法学python》 大家可以都下载一下。

    Day 01内容

    今天的内容主要是安装 可能看安装就有点头疼,我建议直接选一种,不要多想 我自己的windows系统 1.首先就是安装python ,参见百度 link 这时,你就可以在cmd命令行下运行python了 除了打开.py的文件,你还可以输入"python",之后直接写代码,如“print(“Hello,world”);”回车,会发现下一行就是 Hello,world 2.还可以选择安装anaconda(我选择的这个) 3.接下来是安装大型IDE 具体的安装方式,在我的之前的文章中提到过选择Python开发环境

    上面的几步大家都要自己一步一步,慢慢来。 如果觉得我讲得不清楚,随便在网上搜一下,应该都有很多傻瓜教程的。

    还有一个小内容就是关于注释 分为单行注释和多行注释

    # 单行注释 ''' 多行注释 多行注释 '''

    Day 01 练习

    我们可以看到100天教程中有两个练习 这是针对交互式环境的练习 你只要打开命令行或者IDLE(如果你认真看了我上面的步骤和文章应该知道怎么打开) 然后一行一行输入下来 注意:我不会把代码照抄过来,练习的来源我已经告诉大家了,你只要打开我给你的连接,下拉到练习部分,一步一步打下来就行。不要复制粘贴! 先完成第一个任务(只要输入第一行就行) 完成之后,你可能觉得有点莫名其妙 这个任务其实是有背景故事,算是一个小彩蛋吧,另外还有英文版 第二个练习需要一行一行输入,输入的时候,注意图像的变化 turtle是python的一个图形库,import就是引入了,显然import可以引入库和模块 我们可以画出一个正方形 想必你在使用的过程中已经有些明白这些函数的用法了吧 我在这里贴一个详解供参考 如果你愿意,可以把详解最后的几个程序都打一遍。

    import turtle import time # 同时设置pencolor=color1, fillcolor=color2 turtle.color(’red‘, ’yellow‘) turtle.begin_fill() # 开始填充 for _ in range(50): turtle.forward(200) turtle.left(170) #循环50次,画出太阳花,过程很有意思 turtle.end_fill() #结束填充 turtle.mainloop()

    那篇文章中用的是python2,所以有些不一样,大家还是照着我这个来。 我们注意到文章中有一个

    # coding=utf-8

    这句话往往在第一行或第二行,作用是强制使用某种编码,如这里的utf-8编码,目的是可以编写中文 它的另外形式还有

    # coding:utf-8 ## -*- coding:utf-8 -*-

    过去我们使用的python2 如果不加这一句,含有中文的代码便无法正常运行,所以需要加 而现在的python3 均默认使用了utf-8,所以不用再加。

    import turtle import time turtle.pensize(5) turtle.color('yellow','red') turtle.begin_fill() for _ in range(5): turtle.forward(200) turtle.right(144) turtle.end_fill() time.sleep(2) # 推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间 turtle.penup() turtle.goto(-150,-120) turtle.color("violet") turtle.write("Done", font=('Arial', 40, 'normal')) turtle.mainloop()

    第三个时钟,难度比较大,包含许多我们还没学的内容,可以暂时不做

    # coding=utf-8 import turtle from datetime import * # 抬起画笔,向前运动一段距离放下 def Skip(step): turtle.penup() turtle.forward(step) turtle.pendown() def mkHand(name, length): # 注册Turtle形状,建立表针Turtle turtle.reset() Skip(-length * 0.1) # 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。 turtle.begin_poly() turtle.forward(length * 1.1) # 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。 turtle.end_poly() # 返回最后记录的多边形。 handForm = turtle.get_poly() turtle.register_shape(name, handForm) def Init(): global secHand, minHand, hurHand, printer # 重置Turtle指向北 turtle.mode("logo") # 建立三个表针Turtle并初始化 mkHand("secHand", 135) mkHand("minHand", 125) mkHand("hurHand", 90) secHand = turtle.Turtle() secHand.shape("secHand") minHand = turtle.Turtle() minHand.shape("minHand") hurHand = turtle.Turtle() hurHand.shape("hurHand") for hand in secHand, minHand, hurHand: hand.shapesize(1, 1, 3) hand.speed(0) # 建立输出文字Turtle printer = turtle.Turtle() # 隐藏画笔的turtle形状 printer.hideturtle() printer.penup() def SetupClock(radius): # 建立表的外框 turtle.reset() turtle.pensize(7) for i in range(60): Skip(radius) if i % 5 == 0: turtle.forward(20) Skip(-radius - 20) Skip(radius + 20) if i == 0: turtle.write(int(12), align="center", font=("Courier", 14, "bold")) elif i == 30: Skip(25) turtle.write(int(i/5), align="center", font=("Courier", 14, "bold")) Skip(-25) elif (i == 25 or i == 35): Skip(20) turtle.write(int(i/5), align="center", font=("Courier", 14, "bold")) Skip(-20) else: turtle.write(int(i/5), align="center", font=("Courier", 14, "bold")) Skip(-radius - 20) else: turtle.dot(5) Skip(-radius) turtle.right(6) def Week(t): week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"] return week[t.weekday()] def Date(t): y = t.year m = t.month d = t.day return "%s %d%d" % (y, m, d) def Tick(): # 绘制表针的动态显示 t = datetime.today() second = t.second + t.microsecond * 0.000001 minute = t.minute + second / 60.0 hour = t.hour + minute / 60.0 secHand.setheading(6 * second) minHand.setheading(6 * minute) hurHand.setheading(30 * hour) turtle.tracer(False) printer.forward(65) printer.write(Week(t), align="center", font=("Courier", 14, "bold")) printer.back(130) printer.write(Date(t), align="center", font=("Courier", 14, "bold")) printer.home() turtle.tracer(True) # 100ms后继续调用tick turtle.ontimer(Tick, 100) def main(): # 打开/关闭龟动画,并为更新图纸设置延迟。 turtle.tracer(False) Init() SetupClock(160) turtle.tracer(True) Tick() turtle.mainloop() if __name__ == "__main__": main()

    那么今天就结束啦,明天见。

    Processed: 0.009, SQL: 9