使用PyCharm进行python实验指导

使用PyCharm进行python实验指导

本文介绍PyCharm Community Edition 2021.3.2 进行python实验:一、使用PyCharm创建带资源文件的Python项目——演示如何为项目添加图片、声音等资源文件;二、Pycharm安装第三方库;三、PyCharm中关闭、删除项目;四、PyCharm导入python项目。

Win10中PyCharm安装使用入门 参见
https://blog.csdn.net/cnds123/article/details/107656496


一、使用PyCharm创建带资源文件的Python项目

本例是一个疯狂摩托车游戏小项目,演示如何为PyCharm中的项目添加图片、声音等资源文件,使用一个资源文件夹res,和一个源码文件Motorcycle.py。

资源文件夹res含有三张图片文件和两个声音文件,如下图所示:

 Motorcycle.py文件内容如下:

import pyglet
from pyglet.window import key
from pyglet import clock
from random import randint
from math import sqrt
#------------------------------------------------------------------------
#加载资源
pyglet.resource.path = ['./res']
bg_img = pyglet.resource.image('沙漠.png')
motor_animation = pyglet.resource.animation('motor-red.gif')
box_img =pyglet.resource.image('box.png')
motor_sound = pyglet.resource.media('motor.wav', streaming=False)
alert_sound = pyglet.resource.media('alter.mp3', streaming=False)

#------------------------------------------------------------------------
#全局变量
motor_x = 0
motor_y = 40
motor_speed = 0
mileages = 0

#创建窗口
game_win = pyglet.window.Window(width=600, height=295, caption='驾驶摩托车')
#创建角色
motor = pyglet.sprite.Sprite(img=motor_animation, x=50, y=40)
box = pyglet.sprite.Sprite(img=box_img, x=500, y=10)
#文本标签
speed_label = pyglet.text.Label('Speed: 0', x=10, y=280)
mileages_label = pyglet.text.Label('Mileages: 0', x=10, y=260)
#音乐播放器
motor_player = pyglet.media.Player()
alert_player = pyglet.media.Player()

@game_win.event
def on_draw():
    '''绘制游戏画面'''
    global motor_x
    bg_img.blit(0 - int(motor_x) % 600, 0)
    bg_img.blit(600 - int(motor_x) % 600, 0)
    
    if motor.y > box.y:
        motor.draw()
        box.draw()
    else:
        box.draw()
        motor.draw()

    speed_label.draw()
    mileages_label.draw()

def distance(a=(0, 0), b=(0, 0)):
    '''计算两点间的距离'''
    return sqrt((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2)

def motor_move(up_max, down_min, speed, dt):
    '''摩托移动'''
    global motor_speed, motor_y
    if keys[key.UP]:
        motor_y += 50 * dt
        if motor_y > up_max: motor_y = up_max
    if keys[key.DOWN]:
        motor_y -= 50 * dt
        if motor_y < down_min: motor_y = down_min
    if keys[key.LEFT]:
        motor_speed -= 324 * dt
        if motor_speed < 0: motor_speed = 0
    if keys[key.RIGHT]:
        motor_speed += speed * dt
        if motor_speed > 1620: motor_speed = 1620 #摩托车最大速度

def motor_control(dt):
    '''摩托车的控制'''
    global motor_speed, motor_x, motor_y, mileages
    
    #碰撞检测和移动控制
    if distance(motor.position, box.position) <= motor.width:
        if (box.y < motor.y < box.y + 12):
            motor_speed = 0
            motor_move(50, 0, 0, dt)
        elif motor.y >= box.y + 12:
            motor_move(50, box.y + 12, 162, dt)
        else:
            motor_move(box.y, 0, 162, dt)
    else:
        motor_move(50, 0, 162, dt)
    
    motor.y = motor_y
    motor_x += motor_speed * dt
    mileages = motor_x * 0.024
    speed_label.text = 'Motor: %.3f km/h' % (motor_speed * 0.024 * 3.6)
    mileages_label.text = 'Mileages: %.3f km' % (mileages / 1000)

    #摩托车音效
    if motor_speed > 0:
        if not motor_player.playing:
            motor_player.queue(motor_sound)
            motor_player.play()
    elif motor_speed == 0:
        motor_player.next_source()

@game_win.event
def on_close():
    '''游戏窗口关闭'''
    motor_player.next_source()
    
def box_control(dt):
    '''箱子的控制'''
    global mileages, motor_speed
    if mileages > 100 and int(mileages) % 300 == 0:
        #放置箱子
        box.x = 3000
        box.y = motor.y - 6
        #播放警报声
        if not alert_player.playing:
            alert_player.queue(alert_sound)
            alert_player.play()
    else:
        #移动箱子
        box.x -= motor_speed * dt
    
if __name__ == '__main__':
    '''程序入口'''
    keys = key.KeyStateHandler()
    game_win.push_handlers(keys)
    clock.schedule_interval(motor_control, 1/60)
    clock.schedule_interval(box_control, 1/60)
    pyglet.app.run()

如果在“Welcome”屏幕上,单击“ New Project”。如果您已经打开了一个项目,请选择“File | New Project”,出现如下界面:

 项目名crazy_motorcycle,按上图设置,单击底部的“ Create”按钮,稍等一会,显示如下图:

 现在输入源码Motorcycle.py文件内容:

右键选择项目文件夹,使用快捷菜单命令New→Python File,输入文件名称和源码,参见下图:

现在,为创建的python项目添加图片等资源文件

用复制粘贴的方法:复制准备好的图片文件夹,再在PyCharm中项目合适位置上右击粘贴,参见下图:

 用复制粘贴的方法也可以添加单个文件

因为这个疯狂摩托车(crazy motorcycle),需要第三方库pyglet,怎么加?下面介绍。

二、Pycharm中安装第三方库

打开pycharm,先单击File菜单中的settings,再点击project下面的project Interpreter,在搜索需要安装的第三方库,这里是“pyglet”,然后点击界面左下角的Install Package按钮进行安装,参见下图:

提示:如果使用默认源则很可能安装极慢然后安装失败。具体操作点击上图中的“Manage Repositories”按钮,添加国内镜像源,参见下图:

 之后下面点击Install Package按钮进行安装。

国内镜像源有:

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

也可以用Terminal()安装第三方库:

直接左下角点击Terminal-->键入pip命令,比如:

pip install requests

再按下回车键。

下面运行看看

三、PyCharm中关闭、删除项目

1.选择菜单file -> close project

2.在弹出的窗口中,按图示操作

【提示:这是2021.3.2版本的界面,早期版本的可能不同】

关闭项目 ,但不会删除源文件,若想删除源文件,再进行下一步。

3.找到项目所在位置,删除相应文件

四、PyCharm导入python项目

刚启动PyCharm时,可用欢迎界面的Open按钮

若已进入PyCharm,点击File→Open,然后在弹窗中选择需要导入项目的文件夹;

将出现下面的界面:

 现在

 现在可以运行(run)试试

【提示:打开的python项目后,若运行不正常,可能需要配置该项目对应的python才可以正常运行:File→settings】

 附录、

PyCharm默认每次打开都进入上次关闭的项目,如何避免?

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值