国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python基礎練習之幾個簡單的游戲

2020-02-16 10:40:43
字體:
來源:轉載
供稿:網友

文檔介紹

利用python寫“猜數字”,“猜詞語”,“誰是臥底”這三個游戲,從而快速掌握python編程的入門知識,包括python語法/列表/元組/字典/流程控制/庫函數等等。

環境參數

linux平臺,python3.4。需要在linux中把python3.4編譯一下,這樣編寫python程序時保存為.py格式的文件并添加執行權限再終端運行即可(原理跟shell腳本相同),非常方便。

ps:貼出來的python程序代碼在windows中也兼容,只不過運行方式不是命令行,而是要通過python軟件。python軟件可以上官網下載安裝點擊打開鏈接,在學習的時候,可以直接在python軟件上面輸入python語句即可打印結果,也就是說python無需編譯即可運行,很多人也稱之為“腳本”語言。

設計實現

猜數字

很多人在聚餐時都玩過猜數字游戲,由某人隨機出一個指定范圍內的數,然后其他人一個一個猜,猜的過程中區間不斷縮小,直到猜中為止。

這里的猜數字游戲就是用程序來代替那個出數字的人,程序算法設計為:

1.輸入數字區間--->2.系統產生區間內的隨機數--->3.玩家輸入自己猜的數字--->4.比較玩家猜的與答案的高低并提示--->5.未猜中則回到3,猜中則提示猜次數

代碼很少,如下所示:

#!/usr/local/bin/python3import randombot=int(input('Set range bottom/n'))top=int(input('Set range top/n'))rand=random.randint(bot,top)print ('Random number in ['+str(bot)+','+str(top)+'] generated!')num=int(input('###Guess the number###/n'))cnt=1while (num!=rand):	if (num<rand):		print('*_* Lower than the answer')	else:		print('T_T Higher than the answer')	num=int(input('###Guess the number###/n'))	cnt=cnt+1print('^_^ You get the answer with [%d] times'%cnt)

第一行是要讓linux系統知道這是python3程序,random是產生隨機數的庫函數,要注意的是python對格式要求很嚴格,因為它不用通過{}而是通過縮進量判斷流程。

通過這個可以掌握基本的語法和編寫規則了,下面再試試有點難度的,用到詞組和循環控制等知識。

猜詞語

電視節目中的”你來比劃我來猜“大家應該都看過,而且很多人也玩過,規則就是一個人看詞語比劃相應動作和說一些提示,另一個人看不到詞語要通過比劃的動作猜出來,猜的過程中主持人判斷是否符合規則。

某一組玩家猜詞語的算法設計為:

1.開始計時--->2.猜詞語--->3.答對則正確數加1并回到2,要跳過或犯規了則直接回到2,超時了直接跳到3--->3.循環10次后或時間結束后統計答對的題數

有num組玩家就進行以上流程的num次循環,當然也要準備x組詞語,因為每組玩家猜的詞語是不同的。

代碼量不大,如下所示:

#!/usr/local/bin/python3import timenum = int(input('有多少組玩家/n'))guessWord = []correct = []#定義列表,num+10是不想讓guessWord下標不合法for i in range(0,num+10):	guessWord.append(0)	correct.append(0)wordNum=10guessWord[0] = ['打情罵俏','海綿寶寶','嬌媚','金雞獨立','狼吞虎咽','睡眼朦朧','鶴立雞群','手舞足蹈','卓別林','穿越火線']guessWord[1] = ['眉飛色舞','英雄聯盟','扭秧歌','偷看美女','大搖大擺','回眸一笑','市場營銷','大眼瞪小眼','自戀','處女座']guessWord[2] = ['狗急跳墻','捧腹大笑','目不轉睛','愁眉苦臉','左顧右盼','宮保雞丁','升國旗','暗戀','臭襪子','趁火打劫']flag='n'for i in range(0,num):	start = time.time()	for k in range(0,wordNum):		#顯示詞語		print (('%d.%s')%(k+1,guessWord[i][k]))			flag = input('請答題,答對請輸入y,跳過請輸入任意鍵')		end = time.time()		sec = end-start		#統計用時		if (110<=sec<=120):			print ('還有10秒鐘')		if (sec>=120):			print ('時間到!游戲結束')			break				if (flag=='y'):			correct[i]=correct[i]+1			continue		else:			continue	str_temp=('第%d組答對數目:%d') % (i+1,correct[i])		print (str_temp)	            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那曲县| 武义县| 济宁市| 卢氏县| 青海省| 井研县| 永德县| 南部县| 萨嘎县| 望江县| 丰台区| 仙桃市| 普宁市| 怀集县| 昆明市| 鄂州市| 侯马市| 浦县| 松江区| 游戏| 英德市| 乌兰浩特市| 且末县| 高邮市| 威信县| 柯坪县| 阳曲县| 仙居县| 南召县| 渑池县| 抚州市| 丰城市| 大丰市| 乌兰浩特市| 衡水市| 正宁县| 竹溪县| 黎平县| 称多县| 汉阴县| 嘉义县|