可以用假設(shè)法啊。這是計(jì)算機(jī)擅長(zhǎng)的方法,用一個(gè)循環(huán)先假設(shè)循環(huán)節(jié)為1,然后依次假設(shè)2,3,4,5,6,7,8,9
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到七里河網(wǎng)站設(shè)計(jì)與七里河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋七里河地區(qū)。
不用再多了。再多也看不過(guò)來(lái)。這樣就可以輕松算出來(lái)了。
1234567891011import sysx=0.12312312313tmps = "%s"%xp = tmps.find('.')if p0: sys.exit()tmps = tmps[p+1:]for i in xrange(1,9): if tmps[:i]== tmps[i:i*2] and tmps[i:i*2]== tmps[i*2:i*3] : print 'result is %d'%i sys.exit()print 'not found'
上面是一個(gè)簡(jiǎn)單的例子。
在寫(xiě)python程序時(shí),常能用到一些函數(shù)和方法,總結(jié)一下,保存起來(lái),方便查詢(xún)。
一、內(nèi)置函數(shù)
# abs()獲取數(shù)字絕對(duì)值
# chr(i)數(shù)字轉(zhuǎn)換為字符類(lèi)型
# divmod() 獲取兩個(gè)數(shù)值的商和余數(shù)
# enumerate() 將可遍歷序列組合為索引序列
# float()轉(zhuǎn)換為浮點(diǎn)數(shù)
# format() 格式化字符串
# int()轉(zhuǎn)換為整數(shù)?
# input() 接受用戶(hù)輸入內(nèi)容
# len() 計(jì)算元素個(gè)數(shù)
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定數(shù)值的上舍整數(shù)
# open()打開(kāi)文件并返回文件對(duì)象
# pow() 冪運(yùn)算
# print()打印輸出?
# range() 生成器
# reversed()反轉(zhuǎn)所有元素
# round()四舍五入求值
# sorted()對(duì)可迭代對(duì)象進(jìn)行排序?
# str() 轉(zhuǎn)換為字符串
# sum() 求和
# set() 創(chuàng)建集合
# tuple() 將序列轉(zhuǎn)換為元組
# zip()將可迭代對(duì)象打包成元組
二、方法
# append() 添加列表元素
# capitalize()首字母轉(zhuǎn)換為大寫(xiě)?
# count()字符出現(xiàn)次數(shù)
# close() 關(guān)閉文件
# decode() 解碼字符串
# dict.keys() 獲取字典所有的鍵
# find()字符串首次出現(xiàn)的索引
# f.read() 讀取文件內(nèi)容
# dict.update()更新字典
# dict.items() 獲取字典鍵/值對(duì)
# dict.get() 返回指定鍵的值
# encode() 編碼字符串
# list.sort() 排序列表元素
# index() 元素首次出現(xiàn)的索引
# isdigit() 判斷字符串是否只由數(shù)字組成
# isupper() 是否所有字母都為大寫(xiě)
# isnum() 判斷字符串是否由字母和數(shù)字組成
# islower() 是否所有字母都為小寫(xiě)
# isdecimal() 檢查字符串是否只包含十進(jìn)制字符
# isalpha() 檢測(cè)字符串是否為純字母
# random.shuffle()隨機(jī)排序
# random.sample()返回?zé)o重復(fù)隨機(jī)數(shù)列表
# random.choice() 返回一個(gè)隨機(jī)元素
# random.randint() 生成指定范圍的隨機(jī)整數(shù)
# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機(jī)整數(shù)
# pop() 刪除列表中的元素
# remove()刪除列表中的指定元素
# strip()去除空格
# lstrip()去除左側(cè)空格
# rstrip() 去除右側(cè)空格
# readline() 讀取單行內(nèi)容
# root.after() Tkinter中等待一段時(shí)間后再執(zhí)行命令
# str.isnumeric() 驗(yàn)證字符串是否為數(shù)字(適用于Unicode)
# split()分割字符串
# ord() 將字符轉(zhuǎn)換為整數(shù)
# replace() 字符串替換
# ljust() 左對(duì)齊填充
# rjust() 左對(duì)齊填充
# readlines() 讀取所有行內(nèi)容
# datetime.datetime.now() 返回指定時(shí)區(qū)的本地日期時(shí)間
# datetime.datetime.today() 獲取當(dāng)前本地日期的date對(duì)象
# datetime.utcnow() 返回當(dāng)前UTC時(shí)間的datetime對(duì)象
# time.strptime()把時(shí)間字符串解析為元組
# time.time()返回當(dāng)前時(shí)間的時(shí)間戳
# time.sleep()暫停指定秒數(shù)
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收時(shí)間元組并返回時(shí)間戳
# os.getcwd() 獲取當(dāng)前工作目錄
# os.listdir() 獲取指定路徑下的目錄和文件列表
# os.makedirs() 遞歸創(chuàng)建目錄
# os.rename() 重命名目錄或文件
# os.path.exists() 判斷路徑是否存在
# upper() 全部轉(zhuǎn)換為大寫(xiě)字母
# lower()? 全部轉(zhuǎn)換為小寫(xiě)字母
# sys.stdout.write() 標(biāo)準(zhǔn)輸出打印
# sys.stdout.flush()刷新輸出?
# shutil.copy() 復(fù)制單個(gè)文件到另一文件或目錄
# write() 寫(xiě)入文件內(nèi)容
# winsound.Beep() 打開(kāi)電腦揚(yáng)聲器
# zfill() 在字符串前面填充0
三、循環(huán)語(yǔ)句
# break終止當(dāng)前循環(huán)
# continue 終止本循環(huán)進(jìn)入下一次循環(huán)
# with open() as file 以with語(yǔ)句打開(kāi)文件(數(shù)據(jù)保存)
四、轉(zhuǎn)義字符
\ 行尾續(xù)行符
\' 單引號(hào)?
\'' 雙引號(hào)
\a 響鈴
\e 轉(zhuǎn)義
\n 換行
\t 橫向制表符
\f 換頁(yè)
\xyy 十六進(jìn)制yy代表的字符
\\反斜杠符號(hào)
\b 退格
\000 空
\v 縱向制表符
\r 回車(chē)
\0yy 八進(jìn)制yy代表的字符
\other 其他的字符以普通格式輸出
只要你有樂(lè)譜。根據(jù)樂(lè)理,就可以走在調(diào)上。比如:
你可以寫(xiě)一個(gè)文件,存儲(chǔ)你自己的聲音格式:
struct tagSound
{
int frequency; //頻率
int soundDelay; //發(fā)音時(shí)間(單位ms)
int nosoundDelay; //發(fā)完音之后暫停的時(shí)間(單位ms)
};
1。音符與頻率的關(guān)系
========低音部分
低1DO:262
#1DO#:277
低2RE:294
#2RE#:311
低3MI:330
低4FA:349
#4FA#:370
低5SO:392
#5SO#:415
低6LA:440
#6LA#:466
低7SI:494
========中音部分=低音X2
中1DO:523 956us FC44;
#1DO#:554 902us
中2RE:578 865us FC9F;
#2RE#:622 803us
中3MI:659 759us FD09;
中4FA:698 716us FD34
#4FA#:740
中5SO:784 638us FD82
#5SO#:831
中6LA:880 568us FDC8
#6LA#:932
中7SI:988 506us FE06
========高音部分=中音X2
高1DO:1046
#1DO#:1109
高2RE:1175
#2RE#:1245
高3MI:1318
高4FA:1480
#4FA#:1480
高5SO:1568
#5SO#:1661
高6LA:1760
#6LA#:1865
高7SI:1976
“#”表示半音,用于上升或下降半個(gè)音
2。頻率的產(chǎn)生
利用定時(shí)器來(lái)控制IO口的高低變化實(shí)現(xiàn)
周期=1/頻率
半周期中斷產(chǎn)生IO口電平
定時(shí)時(shí)間常數(shù)按照單片機(jī)的方式計(jì)算
3。音樂(lè)節(jié)拍的產(chǎn)生
每個(gè)音符用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表
音符的節(jié)拍,如果 1節(jié)拍是0.4秒,則1/4拍就是0.1秒。
其他節(jié)拍為1/4拍的整數(shù)倍。
4。節(jié)拍與節(jié)拍碼對(duì)照表
節(jié)拍 節(jié)拍數(shù) 節(jié)拍數(shù)
1 1/4 1/8
2 2/4 2/8
3 3/4 3/8
4 1 1/2
5 5/4 5/8
6 6/4 6/8
8 2 1
A 10/4 5/4
C 3 12/8
F 15/4
曲調(diào) 1/4拍的延遲時(shí)間 1/8拍的延遲時(shí)間
4/4 125ms 62ms
3/4 187ms 94ms
2/4 250ms 125ms
不過(guò),真的好不準(zhǔn)。
這樣就可以編輯文件了。
送你一個(gè)函數(shù):
void MyDelay(long tt) /*暫停tt個(gè)百分之一秒*/
{
struct time now,last;
gettime(last);
gettime(now);
while((((now.ti_sec-last.ti_sec)*100+now.ti_hund-last.ti_hund))tt)
{
gettime(now);
}
}
這個(gè)函數(shù)可以暫停 0.01*tt 秒。
循環(huán)使用下面的句子:
Beep(frequency,soundDelay);
MyDelay(nosoundDelay/10);
就可以模擬那個(gè)音樂(lè)了。
在C語(yǔ)言里可以循環(huán)使用:
sound(frequency);
MyDelay(soundDelay/10);
nosound();
MyDelay(nosoundDelay/10);
就可以了
IF (其他玩家.狀態(tài)) = 說(shuō)話(huà) AND (其他玩家.狀態(tài).對(duì)象 = 你的ID) THEN
Beep(1000);
BOOL
Beep(
DWORD
dwFreq,
//
Beep聲音頻率,單位Hz
DWORD
dwDuration
//
Beep聲音持續(xù)時(shí)間,單位毫秒
);
程序示例:
#include
windows.h
int
main
(
void
)
{
int
i
=
2
;
while
(
i--
)
{
//Beep函數(shù),使揚(yáng)聲器發(fā)出簡(jiǎn)單聲音
//要調(diào)用這個(gè)函數(shù)需要加上頭文件windows.h
//在Visual
C++
6.0下運(yùn)行通過(guò)
Beep(1000,500);
}
return
0;
}
Beep是同步播放的,即播放完畢后返回,我都使用線(xiàn)程達(dá)到異步播放。
def?beep(frequency,?amplitude,?duration):
sample?=?8000
half_period?=?int(sample/frequency/2)
beep?=?chr(amplitude)*half_period+chr(0)*half_period
beep?*=?int(duration*frequency)
audio?=?file('/dev/audio',?'wb')
audio.write(beep)
audio.close()
當(dāng)前名稱(chēng):beep函數(shù)Python beep函數(shù)斷斷續(xù)續(xù)
網(wǎng)站路徑:http://sd-ha.com/article38/hhessp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、Google、微信小程序、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)