python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

1.利用pycharm在windows下出现闪退

昨天下午去图书馆抱回来三大本学习python的书籍,准备进修一下python程序设计,正好课本里面有关于图形化程序设计的章节,但是这个我之前没接触过,我这个小白就对照着课本上面一行行的敲代码,但是在运行python文件的时候,对我辛辛苦苦孕育出来的成果一眼都没有见到就闪退了,百度告诉我可能是因为:
1.是我目前pycharm的版本太低啦,需要升级换代了。确实前几天就一直提醒我更新,但是我比较恋旧,这次被迫更新,但是更新之后还是出现闪退情况,所以说明我的错误不是因为版本的问题;

2.缺少必要的事件触发,偶然间看到一个博主是这样解释闪退情况的:

import pygame
from pygame.locals import *
pygame.init()
surface = pygame.display.set_mode((500, 500))
while True:

    for event in pygame.event.get():
        if event.type == QUIT:
            exit()

总结一下就是我的代码太简单啦,缺少必要的事件触发,如果我把代码嵌套在这个循环里面,我是有幸见到我的成果,并且由于是循环的,看到的好像就是我画完这个长方形后就一直在描边,但是一旦将图形界面关闭,就会提示我出现其他错误,啊这????利用一个事件肯定是有用的,但是我现在还没学到事件,这个解决方法对我而言肯定不是最适合的。

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

2.turtle 入门

那我就先接着往下学,就在此刻万能的课本告诉我是缺少了一行代码:


turtle.done()

这次我终于顺利见到我的成果了,老母亲露出了幸福的微笑:

import  turtle

turtle.write('welcome to python~')

turtle.forward(100)

turtle.right(90)

turtle.color('red')

turtle.forward(50)

turtle.showturtle()

turtle.done()

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

那我们绘制一个长方形:

import  turtle

turtle.write('welcome to python~')

turtle.color('red')

turtle.forward(100)

turtle.right(90)

turtle.forward(100)
turtle.right(90)

turtle.forward(100)
turtle.right(90)

turtle.forward(100)

turtle.showturtle()

turtle.done()

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)
发现规律没有,我们利用循环实现是这样的:
import  turtle

n = 3
turtle.write('welcome to python~')

turtle.color('red')
while n >= 0:

    turtle.forward(100)

    turtle.right(90)
    n = n - 1

turtle.showturtle()

turtle.done()

需要注意的是这里和上文还是有些许不同的,最后箭头的方向发生了改变:

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)
如果和上面的效果是一样的那咋办?
python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

3.充分理解penup()和pendown()

首先我们先来总结几个常用的函数:


turtle.penup()
turtle.pendown()

turtle.goto(50, -50)

turtle.color('red')
turtle.circle(50)

turtle.showturtle()

turtle.done()

除此之外还有很多其他的库,这里可以参照《turtle库总结》

在画圆的时候我最开始的代码只用了penup(),我发现图形界面上除了箭头啥玩意也没有,画了个寂寞,细细想想也是有原因的,毕竟抬起画笔就得放下画笔啊~
只抬起画笔的效果:

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

我以为安排山pendown()就万事大吉,但还是太天真了,注意我pendown()放置的位置,随便放下画笔产生的效果:

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

那咋办?首先把头歪一歪,脑子里面的水控一控,我们上面说了,openup()和opendown()命令设置抬起或者放下笔借此控制移动笔时是否绘制一条线。
turtle.penup()

 turtle.penup()
turtle.goto(50, -50)
turtle.pendown()

效果如下:

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

也正是因为有了这组函数的存在,我们移动点的时候才没有多余的直线,否则就这样:

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

只有把画笔放下了,我们绘制圆圈的功能才能继续,否则笔一直处于被占用的状态。(其实单纯绘制圆圈并不需要这样,直接利用circle()函数就可以,这里只是为了便于理解penup()和pendown())

import  turtle

turtle.penup()

turtle.goto(50, -50)
turtle.pendown()

turtle.color('red')
turtle.circle(50)

turtle.showturtle()

turtle.done()

4.思考

看完了上面的知识点能告诉我下面这两段代码的不同吗?

turtle.color('red')
turtle.circle(50)
turtle.circle(50)
turtle.color('red')

我们感受一下这两段代码的不同:
代码1:

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)
代码2:
python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

5.利用turtle绘制五环

import  turtle

turtle.penup()
turtle.goto(-50, 50)
turtle.pendown()
turtle.color('yellow')
turtle.circle(50)

turtle.penup()
turtle.goto(0, 50)
turtle.pendown()
turtle.color('red')
turtle.circle(50)

turtle.penup()
turtle.goto(-100, 50)
turtle.pendown()
turtle.color('orange')
turtle.circle(50)

turtle.penup()
turtle.goto(50, 50)
turtle.pendown()
turtle.color('green')
turtle.circle(50)

turtle.penup()
turtle.goto(100, 50)
turtle.pendown()
turtle.color('blue')
turtle.circle(50)

turtle.showturtle()

turtle.done()

无论移动的点从天南跑到地北,我们turtle都可以很好地完成绘制任务,运行上述代码你就能很好的感受到这一点~

python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

Original: https://blog.csdn.net/qq_43270444/article/details/115350819
Author: keep_humble
Title: python学习笔记29(利用pycharm在windows下出现闪退以及turtle 入门)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/781400/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球