最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實戰(zhàn)之夢幻鋼琴小游戲的實現(xiàn)

 更新時間:2023年02月24日 08:22:55   作者:木木子學(xué)python  
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言編寫一款界面化的(Tkinter)電子鋼琴小程序,文中的示例代碼講解詳細(xì),感興趣的可以了解一下

導(dǎo)語

今天來給大家寫一款界面化的(Tkinter)電子鋼琴小程序。

音樂是聲音的藝術(shù),它通過人們的聽覺,來傳達(dá)思想情感、表現(xiàn)社會生活。但它與舞蹈、繪畫不同的呈現(xiàn)形式不同,舞蹈是通過肢體語言,繪畫是通過色彩和線條來體現(xiàn)藝術(shù)形象。而音樂不是一種具象的形態(tài),它需要通過人們的內(nèi)心去感受,去理解。

因此,在音樂的學(xué)習(xí)中,有很多抽象的概念對孩子來說非常難以理解,例如律動、放松、呼吸等。其實,這些看似“只可意會不可言傳”的概念,以及一些手指技巧,都可以通過一些形象的比喻,向孩子們說明問題,這不僅能提高孩子們的學(xué)習(xí)興趣,并且還能使這些知識在腦海里留下深刻印象。

今天這款電子鋼琴小程序不僅可以學(xué)到小知識還能邊玩兒邊鍛煉手速鴨~愛了沒?

一、環(huán)境準(zhǔn)備

1)運行環(huán)境 

開發(fā)環(huán)境:Python3、Pycharm社區(qū)版、tkinter,部分自帶的模塊安裝Python即可使用。 

2)模塊安裝 

第三方庫的安裝方式如下: 

一般安裝:pip install +模塊名  

鏡像源安裝:pip install -i https://pypi.douban.com/simple/+模塊名 

模塊安裝問題可以詳細(xì)的找我給大家講一下的哈,之前其實也有的文章寫了幾個點的。 

二、代碼展示

1)導(dǎo)入模塊

import winsound

from tkinter import *

2)主程序

def doone():
	for i in range(1,11):
		i=i*500
		winsound.Beep(i,500)
def submit():#讀取樂譜并播放的函數(shù)
	music = list(map(str,u.get()))  #	print(music)	print(p.get())
	order =[[131,147,165,175,196,220,247],[262,296,330,349,392,440,494],[523,587,659,698,784,880,988],[1047,1175,1319,1397,1568,1760,1976]]
	match =['0','1','2','3','4','5','6','7','8','9']
	char =[ 'A','B','C','D']
	n = 1
	j=0
	k=0
	m=0
	time1 = [0 for x in range(10,1000)]
	order1 = [0 for x in range(0,1000)]
	order11 = [0 for x in range(0,1000)]
	orderm = [0 for x in range(0,1000)]
	for i in range(len(music)):
		if music[i] == '/':
			n=n+1
		if i==0:
			if music[i] == '0' and music[i+1] == '.' and music[i+2] == '5':
				time1[j]=0.5
				j=j+1
			t=0
			while t<10:
				if music[i] == match[t] and music[i+3] == '/':
					time1[j]=t
					j=j+1
				t=t+1
		else:
			if music[i] == '0' :
				time1[j]=0.5
				j=j+1
			for tp in range(1,9):
				if (music[i] == match[tp] and music[i-1] == '/' ):
					time1[j]=tp
					j=j+1
			for tn in range(0,4):
				if music[i] == char[tn]  :
					order1[m]=tn
					m=m+1
			for tt in range(1,9):
				if music[i] == match[tt] and ( music[i-1] == 'A' or music[i-1] == 'B' or music[i-1] == 'C' or music[i-1] == 'D') :
					order11[k]=tt
					k=k+1
	print(n)
	l=0
	while l< n:
		time1[l]=time1[l]*int(p.get())
		orderm[l]=order[order1[l]][order11[l]-1]
		time1[l]=int(time1[l])#		print("時間,字母,順序,音律以此為:")		print(time1[l],   order1[l],  order11[l],orderm[l])
		l=l+1
	l=0
	while l <n:#		print(orderm[l],time1[l])
		winsound.Beep(orderm[l],time1[l])
		l=l+1
#圖形界面
root = Tk()
root.title("電子鋼琴簡易版")
frame = Frame(root)
frame.pack(padx=8, pady=8, ipadx=4)
lab1 = Label(frame, text="請輸入樂譜:")
lab1.grid(row=0, column=0, padx=5, pady=5, sticky=W)
#u = StringVar()
#ent1 = Entry(frame, textvariable=u)
#ent1.grid(row=0, column=1, sticky='ew', columnspan=2)
lab2 = Label(frame, text="請輸入每個音節(jié)代表的時間(單位ms):")
lab2.grid(row=1, column=0, padx=5, pady=5, sticky=W)
p = StringVar()
ent2 = Entry(frame, textvariable=p)
ent2.grid(row=1, column=1, sticky='ew', columnspan=2)
button = Button(frame, text="確認(rèn)", command=submit, default='active')
button.grid(row=2, column=1)
button2 = Button(frame, text="退出", command=quit)
button2.grid(row=2, column=2, padx=5, pady=5)
button3 = Button(frame, text="第一題播放",command=doone)
button3.grid(row=2, column=0)

三、效果展示

1)運行界面

2)小程序截圖

以上就是Python實戰(zhàn)之夢幻鋼琴小游戲的實現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Python夢幻鋼琴游戲的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Flask?的路由Route詳情

    Flask?的路由Route詳情

    在上一篇Flask?入門Web?微框架Hello?Flask中,我們用?Flask?框架寫了一個?Hello?Flask?應(yīng)用程序,我們了解到?Flask?框架簡潔高效、可以快速上手,接下來將對?Flask?框架的各項功能詳細(xì)的介紹一下,本篇文章介紹的是?Flask?的路由(Route),需要的朋友可以參考一下
    2021-11-11
  • Python使用execjs模塊運行JavaScript代碼

    Python使用execjs模塊運行JavaScript代碼

    在編程中,Python和JavaScript是兩種使用廣泛的編程語言,本文將深入探索如何通過execjs模塊在Python中運行JavaScript代碼,有需要的可以參考一下
    2025-03-03
  • Python爬取豆瓣視頻信息代碼實例

    Python爬取豆瓣視頻信息代碼實例

    這篇文章主要介紹了Python爬取豆瓣視頻信息代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python機(jī)器學(xué)習(xí)應(yīng)用之工業(yè)蒸汽數(shù)據(jù)分析篇詳解

    Python機(jī)器學(xué)習(xí)應(yīng)用之工業(yè)蒸汽數(shù)據(jù)分析篇詳解

    本篇文章介紹了如何用Python進(jìn)行工業(yè)蒸汽數(shù)據(jù)分析的過程及思路,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下
    2022-01-01
  • pytorch VGG11識別cifar10數(shù)據(jù)集(訓(xùn)練+預(yù)測單張輸入圖片操作)

    pytorch VGG11識別cifar10數(shù)據(jù)集(訓(xùn)練+預(yù)測單張輸入圖片操作)

    這篇文章主要介紹了pytorch VGG11識別cifar10數(shù)據(jù)集(訓(xùn)練+預(yù)測單張輸入圖片操作),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python六大開源框架對比

    Python六大開源框架對比

    在這篇文章里,我們將為Python Web開發(fā)者回顧基于Python的6大Web應(yīng)用框架。無論你是出于愛好還是需求,這六大框架都可能會成為你工作上不錯的得力助手。
    2015-10-10
  • 如何實現(xiàn)在Anaconda中打開python自帶idle

    如何實現(xiàn)在Anaconda中打開python自帶idle

    這篇文章主要介紹了如何實現(xiàn)在Anaconda中打開python自帶idle問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Python UnboundLocalError和NameError錯誤根源案例解析

    Python UnboundLocalError和NameError錯誤根源案例解析

    這篇文章主要介紹了Python UnboundLocalError和NameError錯誤根源解析,本文通過案例分析實例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • python爬蟲框架Scrapy基本應(yīng)用學(xué)習(xí)教程

    python爬蟲框架Scrapy基本應(yīng)用學(xué)習(xí)教程

    這篇文章主要為大家介紹了python爬蟲框架Scrapy的基本應(yīng)用學(xué)習(xí)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • python制作填詞游戲步驟詳解

    python制作填詞游戲步驟詳解

    在本文里我們給大家整理了關(guān)于python制作填詞游戲的具體步驟以及實例代碼,需要的朋友們跟著學(xué)習(xí)下。
    2019-05-05

最新評論

英德市| 罗江县| 利川市| 青龙| 巩义市| 犍为县| 平邑县| 长垣县| 东丽区| 泰顺县| 武汉市| 大安市| 措勤县| 怀集县| 长岛县| 鹤壁市| 轮台县| 宁津县| 盖州市| 水城县| 高安市| 上虞市| 灵石县| 逊克县| 中西区| 那坡县| 庐江县| 星座| 连南| 屏山县| 新郑市| 枞阳县| 泸水县| 南通市| 平山县| 若羌县| 洛阳市| 改则县| 宁河县| 宿迁市| 湖北省|