Python模拟钢琴键盘实现演奏数鸭子歌曲

目录
  • 前言
  • winsound模块
  • keyboard模块
  • 源代码
  • 运行结果

前言

前几天上课老师给我们讲了两个模块,然后利用这两个模块来模拟钢琴键盘去简单地演奏《数鸭子》今天来分享给大家。

模块1:winsound

模块2:keyboard

winsound模块

winsound模块提供对windows平台的基本声音播放功能的访问,他还包含函数和一些常量。

1.安装winsound模块

在cmd窗口下输入

pip install winsound

2.导入模块

import winsound

3.winsound模块下的函数

winsound.Beep(frequency, duration)

哔哔声PC扬声器,频率参数frequency指定声音的频率,以Hz为单位,必须在37~32767的范围内。持续时间参数duration指定声音应该持续的毫秒数。如果系统不能发出喇叭声,会提RuntimeError错误。

因为这里能用到的函数就一个,其他的函数就不过多解释了。

keyboard模块

keyboard模块就很容易理解了,就是用来控制键盘的相关事件。

1.安装模块

pip install keyboard

2.导入模块

import keyboard

以下就是keyboard模块的基本功能

1.允许我们阻止特定按钮的动作

2.我们可以使用点击监视器从键盘管理意图

3.跨平台兼容性

4.支持键盘上可用的特殊热键。

现在直接上干货↓

《数鸭子》简谱

源代码

import winsound  # 导入winsound模块
import keyboard  # 导入keyboard模块
while True:      # 循环
    # 中音
    # Returns True if the key is pressed,如果被按下就发出声音
    if keyboard.is_pressed('1'):
        winsound.Beep(262*2, 400)

    if keyboard.is_pressed('2'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('3'):
        winsound.Beep(330*2, 400)

    if keyboard.is_pressed('4'):
        winsound.Beep(349*2, 400)

    if keyboard.is_pressed('5'):
        winsound.Beep(392*2, 400)

    if keyboard.is_pressed('6'):
        winsound.Beep(440*2, 400)

    if keyboard.is_pressed('7'):
        winsound.Beep(494*2, 400)

    # 低音
    # Returns True if the key is pressed,如果被按下就发出声音
    if keyboard.is_pressed('z'):
        winsound.Beep(262, 400)

    if keyboard.is_pressed('x'):
        winsound.Beep(294, 400)

    if keyboard.is_pressed('c'):
        winsound.Beep(330, 400)

    if keyboard.is_pressed('v'):
        winsound.Beep(349, 400)

    if keyboard.is_pressed('b'):
        winsound.Beep(392, 400)

    if keyboard.is_pressed('n'):
        winsound.Beep(440, 400)

    if keyboard.is_pressed('m'):
        winsound.Beep(494, 400)

    # 高音
    # Returns True if the key is pressed,如果被按下就发出声音
    if keyboard.is_pressed('a'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('s'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('d'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('f'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('g'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('h'):
        winsound.Beep(294*2, 400)

    if keyboard.is_pressed('j'):
        winsound.Beep(294*2, 400)

    else:
        pass

#  琴键上的高音"do"是电脑上的"a"键,要注意一下

运行结果

直接在运行框里输入就行,运行框内的空格和竖线是为了更好的理解。

到此这篇关于Python模拟钢琴键盘实现演奏数鸭子歌曲的文章就介绍到这了,更多相关Python模拟钢琴键盘演奏歌曲内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python+Selenium键盘鼠标模拟事件操作详解

    目录 元素的基本操作 鼠标键盘模拟事件操作 利用 Keys 模块模拟键盘操作事件 利用 Action 类模拟鼠标操作事件 当我们定位到具体的一个元素的时候就可以对这个元素进行具体的操作,比如之前章节所执行的 click 操作.这是最简单的操作,webdriver 还有其他的操作.比如元素的基本操作(点击.输入.清除),还有一些高级操作如鼠标键盘模拟事件.弹出框处理.多页面切换等… 这些都是需要我们了解的内容,也是在做自动化测试的时候经常遇到的一些基本场景.今天这一章节,我们就先来学习一下元素的基

  • Python 实现键盘鼠标按键模拟

    有时候我们需要使用python执行一些脚本,可能需要让程序自动按键或自动点击鼠标,下面的代码实现了对键盘的模拟按键, 需要安装pypiwin32,当然也可以直接用ctypes来实现. pip install pypiwin32 安装pypiwin32. 键盘模拟 # coding=utf-8 import win32con import win32api import time key_map = {     "0": 49, "1": 50, "2&qu

  • python模拟鼠标点击和键盘输入的操作

    所有代码都是网上百度出来的,通过个人实践找到适合自己的. 采用的python 库是 pymouse.pykeyboard 安装时直接pip安装的,pip install PyUserInput 安装不成功的可以参照http://www.lfd.uci.edu/~gohlke/pythonlibs/这个地址,内容很全 实现了一个最简单的输入密码,enter进入的登录过程 如果想遍历,可以使用itertools 包,很有用,具体用法这里不介绍了. · 鼠标点击 有m.click(x, y, butt

  • python之模拟鼠标键盘动作具体实现

    上个月就打算开发个还算好玩的项目,但是一直没时间.这篇是此项目用到的一部分, 处理好此部分基本还差通信等方面的了.首先模拟鼠标键盘按下释放的动作,本人利用X11 这个库,所以要了解X11编程;其次,本身用c或者c++就可以实现了,但是由于本人是py 粉,所以总想把代码搬进python,所以本人就要实现python模块,本篇用的ctypes,以后会 把python的c扩展模块附上来的. 1.X11编程 首先简单的介绍一下X11吧,网上有介绍,本人就不重复了.我们知道X是以server与client

  • 利用Python实现Windows下的鼠标键盘模拟的实例代码

    本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家 本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗. 依赖: PyUserInput pip install PyUserInput PyUserInput 依赖 pyhook,所以还得安装 pyhook.按需下载,下载地址. 我是 win10 64 位 python 2.7,用的是第二个,下载之后用解压软件打开,把 pyHook放到C:\Python27\Lib\site-pack

  • windows下python模拟鼠标点击和键盘输示例

    需要先装pywin32,windows下调用winapi的接口 复制代码 代码如下: ## _*_ coding:UTF-8 _*___author__ = 'shanl' import win32apiimport win32conimport win32guifrom ctypes import *import time VK_CODE = {    'backspace':0x08,    'tab':0x09,    'clear':0x0C,    'enter':0x0D,    '

  • Python模拟钢琴键盘实现演奏数鸭子歌曲

    目录 前言 winsound模块 keyboard模块 源代码 运行结果 前言 前几天上课老师给我们讲了两个模块,然后利用这两个模块来模拟钢琴键盘去简单地演奏<数鸭子>今天来分享给大家. 模块1:winsound 模块2:keyboard winsound模块 winsound模块提供对windows平台的基本声音播放功能的访问,他还包含函数和一些常量. 1.安装winsound模块 在cmd窗口下输入 pip install winsound 2.导入模块 import winsound 3

  • python PyAutoGUI 模拟鼠标键盘操作和截屏功能

    简介 一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏. 安装 pip install pyautogui 鼠标键盘控制 >>> import pyautogui >>> screenWidth, screenHeight = pyautogui.size() >>> currentMouseX, currentMouseY = pyautogui.position() >>> pyautog

  • Python模拟键盘输入自动登录TGP

    #-*- coding: utf-8 -*- import win32api,win32gui, win32con import os import time #os.startfile('D:\\Program Files\\Tencent\\TGP\\tgp_daemon.exe') #time.sleep(5) label = u"腾讯游戏平台" #根据窗口名获取窗口句柄, h = win32gui.FindWindow('Edit','') #Ex = win32gui.Fin

  • 利用python模拟sql语句对员工表格进行增删改查

    本文主要给大家介绍了关于python模拟sql语句对员工表格进行增删改查的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 具体需求: 员工信息表程序,实现增删改查操作: 可进行模糊查询,语法支持下面3种: select name,age from staff_data where age > 22                  多个查询参数name,age 用','分割 select * from staff_data where dept = 人事 select * from

  • python模拟事件触发机制详解

    本文实例为大家分享了python模拟事件触发机制的具体代码,供大家参考,具体内容如下 EventManager.py # -*- encoding: UTF-8 -*- # 系统模块 from queue import Queue, Empty from threading import * class EventManager: def __init__(self): """初始化事件管理器""" # 事件对象列表 self.__eventQu

  • Python模拟百度自动输入搜索功能的实例

    如下所示: # 访问百度,模拟自动输入搜索 # 代码中引入selenium版本为:3.4.3 # 通过Chrom浏览器访问发起请求 # Chrom版本:59 ,chromdriver:2.3 # 需要对应版本的Chrom和chromdriver # 请联系QQ:878799579 from selenium import webdriver # 引入Keys类包 发起键盘操作 from selenium.webdriver.common.keys import Keys import time

  • python模拟预测一下新型冠状病毒肺炎的数据

    大家还好吗? 背景就不用多说了吧?本来我是初四上班的,现在延长到2月10日了.这是我工作以来时间最长的一个假期了.可惜哪也去不了.待在家里,没啥事,就用python模拟预测一下新冠病毒肺炎的数据吧.要声明的是本文纯属个人自娱自乐,不代表真实情况. 采用SIR模型,S代表易感者,I表示感染者,R表示恢复者.染病人群为传染源,通过一定几率把传染病传给易感人群,ta自己也有一定的几率被治愈并免疫,或死亡.易感人群一旦感染即成为新的传染源. 模型假设: ①不考虑人口出生.死亡.流动等情况,即人口数量保持

  • python 模拟网站登录——滑块验证码的识别

    普通滑动验证 以http://admin.emaotai.cn/login.aspx为例这类验证码只需要我们将滑块拖动指定位置,处理起来比较简单.拖动之前需要先将滚动条滚动到指定元素位置. import time from selenium import webdriver from selenium.webdriver import ActionChains # 新建selenium浏览器对象,后面是geckodriver.exe下载后本地路径 browser = webdriver.Fire

随机推荐