本文實例為大家分享了Python實現簡單猜數字游戲的具體代碼,供大家參考,具體內容如下
一、需求分析
編寫一個猜數字游戲,游戲規則:計算機給出一個1-20的之間的隨機數字,讓玩家來猜猜它是幾,計算機會告訴你每次猜出的數字或大或小,如在6次內猜到正確數字,即贏了。
二、編寫思路
1.首先導入random隨機模塊 ,然后定義隨機數的范圍,然后定義次數。
2.使用while循環來判斷是否符合隨機數和輸入數值的比較,并且設置次數遞減
3.使用 isdigit 函數來完成判斷玩家數據類型,避免報錯。
4.使用if else 流程控制語句即玩家輸入數字比隨機數大則提醒玩家數字大,反之則小并且提醒玩家剩余幾次機會。
5.最后編寫輸入機會用完猜對則游戲結束,猜錯則提醒機會用完,并且公布電腦給出的隨機數答案。
三、問題
1.如何來判斷玩家輸入的數據類型來避免報錯?
解決:使用isdigit函數來判斷玩家輸入的數據類型是否為數字,是則繼續運行反之則提醒玩家輸入的內容不合法。
2.如何限制玩家輸入字符的數量?
解決:定義一個最大常量和最小常量,超出最大常量或者最小常量則會提醒玩家輸入內容的范圍。
四、代碼
import random # 導入隨機模塊
times = 6 # 定義嘗試次數
game = random.randint(0, 20) # 定義隨機數范圍
max = 20 # 定義最大常量
min = 0 # 定義最小常量
print('猜一猜我心目中的數字(0-20之間):')
print('你有%d次機會:' % times)
while times > 0: # 循環判斷如果有機會往下運行
times = times - 1 # 次數遞減
str = input() # 輸入數值
if not str.isdigit(): # 判斷數據類型 輸入的是不是數字
print('您輸入的數據:' + str + '不合法,請重新輸入我心目中的數字(0-20)之間,還有%d次機會' % times)
else:
guess = int(str)
if guess == game: #玩家輸入與隨機數相同
print('猜對了!')
else:
if guess > max: #玩家輸入大于猜測隨機數范圍
print('輸入無效!請輸入%d到%d之間的數字,還有%d次機會.' % (min, max, times))
continue
if guess > game: #玩家輸入大于隨機數
print('您輸入的數字大了!還有%d次機會' % times)
else:
print('您輸入的數字小了!還有%d次機會' % times)
if times > 0: #還有次數
print('在嘗試一次吧')
else:
print('沒機會了')
print('我心目中的數字是%d' % game)
print('游戲結束!')
五、感悟
通過本次的項目練習,我感覺自己收獲還是很大的,不僅考驗了自己對基礎知識的掌握程度,而且和同學在討論中也發現了更多的問題并且學會解決問題,然后在師父的驗收過程中也發現了代碼可以調優完善的地方,最后在紀老師驗收的過程中,通過看其他同學的代碼和自己的代碼來對比可以發現一些自己所不了解的知識及語法,老師也提了很多的問題,并且提供了更多的思路,例如代碼里曲線 背景快出現的原因,以及如何設計游戲更多的樂趣,然后以后完成項目還可以使用PPT,因為這樣可以更清楚更便于自己或者同學來理解,使我受益匪淺,在自己解決問題的過程中也學會了一些更多的函數用法,例如如何判斷數據類型,通過在網上搜索學習了這個函數,我也對類似的這種函數進行了解:
s為字符串
s.isalnum() 所有字符都是數字或者字母,為真返回 Ture,否則返回 False。
s.isalpha() 所有字符都是字母,為真返回 Ture,否則返回 False。
s.isdigit() 所有字符都是數字,為真返回 Ture,否則返回 False。
s.islower() 所有字符都是小寫,為真返回 Ture,否則返回 False。
s.isupper() 所有字符都是大寫,為真返回 Ture,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。
s.isspace() 所有字符都是空白字符,為真返回 Ture,否則返回 False。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Python猜數字算法題詳解
- python編寫猜數字小游戲
- python實現猜數字游戲
- 如何利用Python開發一個簡單的猜數字游戲
- 基于python3 pyQt5 QtDesignner實現窗口化猜數字游戲功能
- python3實現猜數字游戲
- python實現猜數字小游戲
- python實現的簡單猜數字游戲
- python實現猜數字游戲(無重復數字)示例分享
- python3.3使用tkinter開發猜數字游戲示例
- Python版的文曲星猜數字游戲代碼
- python實戰之90行代碼寫個猜數字游戲