Python實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲
本文實(shí)例為大家分享了Python實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲的具體代碼,供大家參考,具體內(nèi)容如下
一、需求分析
編寫一個(gè)猜數(shù)字游戲,游戲規(guī)則:計(jì)算機(jī)給出一個(gè)1-20的之間的隨機(jī)數(shù)字,讓玩家來猜猜它是幾,計(jì)算機(jī)會(huì)告訴你每次猜出的數(shù)字或大或小,如在6次內(nèi)猜到正確數(shù)字,即贏了。
二、編寫思路
1.首先導(dǎo)入random隨機(jī)模塊 ,然后定義隨機(jī)數(shù)的范圍,然后定義次數(shù)。
2.使用while循環(huán)來判斷是否符合隨機(jī)數(shù)和輸入數(shù)值的比較,并且設(shè)置次數(shù)遞減
3.使用 isdigit 函數(shù)來完成判斷玩家數(shù)據(jù)類型,避免報(bào)錯(cuò)。
4.使用if else 流程控制語句即玩家輸入數(shù)字比隨機(jī)數(shù)大則提醒玩家數(shù)字大,反之則小并且提醒玩家剩余幾次機(jī)會(huì)。
5.最后編寫輸入機(jī)會(huì)用完猜對(duì)則游戲結(jié)束,猜錯(cuò)則提醒機(jī)會(huì)用完,并且公布電腦給出的隨機(jī)數(shù)答案。
三、問題
1.如何來判斷玩家輸入的數(shù)據(jù)類型來避免報(bào)錯(cuò)?
解決:使用isdigit函數(shù)來判斷玩家輸入的數(shù)據(jù)類型是否為數(shù)字,是則繼續(xù)運(yùn)行反之則提醒玩家輸入的內(nèi)容不合法。
2.如何限制玩家輸入字符的數(shù)量?
解決:定義一個(gè)最大常量和最小常量,超出最大常量或者最小常量則會(huì)提醒玩家輸入內(nèi)容的范圍。
四、代碼
import random # 導(dǎo)入隨機(jī)模塊
times = 6 # 定義嘗試次數(shù)
game = random.randint(0, 20) # 定義隨機(jī)數(shù)范圍
max = 20 # 定義最大常量
min = 0 # 定義最小常量
print('猜一猜我心目中的數(shù)字(0-20之間):')
print('你有%d次機(jī)會(huì):' % times)
while times > 0: # 循環(huán)判斷如果有機(jī)會(huì)往下運(yùn)行
times = times - 1 # 次數(shù)遞減
str = input() # 輸入數(shù)值
if not str.isdigit(): # 判斷數(shù)據(jù)類型 輸入的是不是數(shù)字
print('您輸入的數(shù)據(jù):' + str + '不合法,請(qǐng)重新輸入我心目中的數(shù)字(0-20)之間,還有%d次機(jī)會(huì)' % times)
else:
guess = int(str)
if guess == game: #玩家輸入與隨機(jī)數(shù)相同
print('猜對(duì)了!')
else:
if guess > max: #玩家輸入大于猜測(cè)隨機(jī)數(shù)范圍
print('輸入無效!請(qǐng)輸入%d到%d之間的數(shù)字,還有%d次機(jī)會(huì).' % (min, max, times))
continue
if guess > game: #玩家輸入大于隨機(jī)數(shù)
print('您輸入的數(shù)字大了!還有%d次機(jī)會(huì)' % times)
else:
print('您輸入的數(shù)字小了!還有%d次機(jī)會(huì)' % times)
if times > 0: #還有次數(shù)
print('在嘗試一次吧')
else:
print('沒機(jī)會(huì)了')
print('我心目中的數(shù)字是%d' % game)
print('游戲結(jié)束!')
五、感悟
通過本次的項(xiàng)目練習(xí),我感覺自己收獲還是很大的,不僅考驗(yàn)了自己對(duì)基礎(chǔ)知識(shí)的掌握程度,而且和同學(xué)在討論中也發(fā)現(xiàn)了更多的問題并且學(xué)會(huì)解決問題,然后在師父的驗(yàn)收過程中也發(fā)現(xiàn)了代碼可以調(diào)優(yōu)完善的地方,最后在紀(jì)老師驗(yàn)收的過程中,通過看其他同學(xué)的代碼和自己的代碼來對(duì)比可以發(fā)現(xiàn)一些自己所不了解的知識(shí)及語法,老師也提了很多的問題,并且提供了更多的思路,例如代碼里曲線 背景快出現(xiàn)的原因,以及如何設(shè)計(jì)游戲更多的樂趣,然后以后完成項(xiàng)目還可以使用PPT,因?yàn)檫@樣可以更清楚更便于自己或者同學(xué)來理解,使我受益匪淺,在自己解決問題的過程中也學(xué)會(huì)了一些更多的函數(shù)用法,例如如何判斷數(shù)據(jù)類型,通過在網(wǎng)上搜索學(xué)習(xí)了這個(gè)函數(shù),我也對(duì)類似的這種函數(shù)進(jìn)行了解:
s為字符串
s.isalnum() 所有字符都是數(shù)字或者字母,為真返回 Ture,否則返回 False。
s.isalpha() 所有字符都是字母,為真返回 Ture,否則返回 False。
s.isdigit() 所有字符都是數(shù)字,為真返回 Ture,否則返回 False。
s.islower() 所有字符都是小寫,為真返回 Ture,否則返回 False。
s.isupper() 所有字符都是大寫,為真返回 Ture,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。
s.isspace() 所有字符都是空白字符,為真返回 Ture,否則返回 False。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中利用Scipy包的SIFT方法進(jìn)行圖片識(shí)別的實(shí)例教程
SIFT算法可以檢測(cè)圖片中的局部特征,算法原理相當(dāng)復(fù)雜...但是!Python強(qiáng)大的第三方包Scipy中帶有實(shí)現(xiàn)SIFT算法的SIFT方法,我們只要拿來用就可以了,下面就為大家?guī)鞵ython中利用Scipy包的SIFT方法進(jìn)行圖片識(shí)別的實(shí)例教程.2016-06-06
解決python打開https出現(xiàn)certificate verify failed的問題
這篇文章主要介紹了解決python打開https出現(xiàn)certificate verify failed的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Python實(shí)現(xiàn)的Google IP 可用性檢測(cè)腳本
這篇文章主要介紹了Python實(shí)現(xiàn)的Google IP 可用性檢測(cè)腳本,本文腳本需要Python 3.4+環(huán)境,需要的朋友可以參考下2015-04-04
從零開始用Python解析命令行參數(shù)之標(biāo)準(zhǔn)庫argparse和第三方庫click
argparse是Python標(biāo)準(zhǔn)庫中的一個(gè)模塊,用于編寫用戶友好的命令行界面,這篇文章主要介紹了Python解析命令行參數(shù)之標(biāo)準(zhǔn)庫argparse和第三方庫click的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-12-12
Python基礎(chǔ)之文件操作及光標(biāo)移動(dòng)詳解
這篇文章主要為大家介紹了Python基礎(chǔ)之文件操作及光標(biāo)移動(dòng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
安裝Python的web.py框架并從hello world開始編程
這篇文章主要介紹了安裝Python的web.py框架并從hello world開始編程,web.py的作者年輕的Aaron Swartz已經(jīng)離世,緬懷大神,需要的朋友可以參考下2015-04-04
Python3 main函數(shù)使用sys.argv傳入多個(gè)參數(shù)的實(shí)現(xiàn)
今天小編就為大家分享一篇Python3 main函數(shù)使用sys.argv傳入多個(gè)參數(shù)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
教你利用python的matplotlib(pyplot)繪制折線圖和柱狀圖
Python繪圖需要下載安裝matplotlib模塊,它是一個(gè)數(shù)學(xué)繪圖庫,我們將使用它來制作簡(jiǎn)單的圖表,如折線圖和散點(diǎn)圖,下面這篇文章主要給大家介紹了關(guān)于利用python的matplotlib(pyplot)繪制折線圖和柱狀圖的相關(guān)資料,需要的朋友可以參考下2022-05-05
DJANGO-URL反向解析REVERSE實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于DJANGO-URL反向解析REVERSE的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-10-10

