欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

跟老齊學(xué)Python之做一個(gè)小游戲

 更新時(shí)間:2014年09月28日 15:18:21   投稿:hebedich  
經(jīng)過一段時(shí)間學(xué)習(xí),看官已經(jīng)不是純粹小白了,已經(jīng)屬于python初級(jí)者了。現(xiàn)在就是開始做那個(gè)游戲的時(shí)候了。說是做游戲,不過還是先來點(diǎn)基礎(chǔ)知識(shí)吧

在講述有關(guān)list的時(shí)候,提到做游戲的事情,后來這個(gè)事情一直沒有接續(xù)。不是忘記了,是在想在哪個(gè)階段做最合適。經(jīng)過一段時(shí)間學(xué)習(xí),看官已經(jīng)不是純粹小白了,已經(jīng)屬于python初級(jí)者了?,F(xiàn)在就是開始做那個(gè)游戲的時(shí)候了。

游戲內(nèi)容:猜數(shù)字游戲

太簡(jiǎn)單了吧。是的,游戲難度不大,不過這個(gè)游戲中蘊(yùn)含的東西可是值得玩味的。

游戲過程描述

程序運(yùn)行起來,隨機(jī)在某個(gè)范圍內(nèi)選擇一個(gè)整數(shù)。
提示用戶輸入數(shù)字,也就是猜程序隨即選的那個(gè)數(shù)字。
程序?qū)⒂脩糨斎氲臄?shù)字與自己選定的對(duì)比,一樣則用戶完成游戲,否則繼續(xù)猜。
使用次數(shù)少的用戶得勝.
分析

在任何形式的程序開發(fā)之前,不管是大還是小,都要進(jìn)行分析。即根據(jù)功能需求,將不同功能點(diǎn)進(jìn)行分解。從而確定開發(fā)過程。我們現(xiàn)在做一個(gè)很小的程序,也是這樣來做。

隨機(jī)選擇一個(gè)數(shù)

要實(shí)現(xiàn)隨機(jī)選擇一個(gè)數(shù)字,可以使用python中的一個(gè)隨機(jī)函數(shù):random。下面對(duì)這個(gè)函數(shù)做簡(jiǎn)要介紹,除了針對(duì)本次應(yīng)用之外,還擴(kuò)展點(diǎn),也許別處看官能用上。

還是要首先強(qiáng)化一種學(xué)習(xí)方法,就是要學(xué)會(huì)查看幫助文檔。

復(fù)制代碼 代碼如下:

>>> import random  #這個(gè)是必須的,因?yàn)椴皇莾?nèi)置函數(shù)
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

>>> help(random.randint)

Help on method randint in module random:

randint(self, a, b) method of random.Random instance
    Return random integer in range [a, b], including both end points.

耐心地看文檔,就明白怎么用了。不過,還是把主要的東西列出來,但仍然建議看官在看每個(gè)函數(shù)的使用之前,在交互模式下通過help來查看文檔。

隨機(jī)整數(shù):

復(fù)制代碼 代碼如下:

>>> import random
>>> random.randint(0,99)
21

隨機(jī)選取0到100間的偶數(shù):

復(fù)制代碼 代碼如下:

>>> import random
>>> random.randrange(0, 101, 2)
42

隨機(jī)浮點(diǎn)數(shù):

復(fù)制代碼 代碼如下:

>>> import random
>>> random.random()
0.85415370477785668
>>> random.uniform(1, 10)
5.4221167969800881

隨機(jī)字符:

復(fù)制代碼 代碼如下:

>>> import random
>>> random.choice('qiwsir.github.io')
'g'

多個(gè)字符中選取特定數(shù)量的字符:

復(fù)制代碼 代碼如下:

>>> import random
random.sample('qiwsir.github.io',3)
['w', 's', 'b']

隨機(jī)選取字符串:

復(fù)制代碼 代碼如下:

>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
'lemon'

洗牌:把原有的順序打亂,按照隨機(jī)順序排列

復(fù)制代碼 代碼如下:

>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
[3, 2, 5, 6, 4, 1]

有點(diǎn)多了。不過,本次實(shí)驗(yàn)中,值用到了random.randint()即可。多出來是買一送一的(哦。忘記了,沒有人買呢,本課程全是白送的)。

關(guān)鍵技術(shù)點(diǎn)之一已經(jīng)突破??梢跃幊塘?。再梳理一下流程。畫個(gè)圖展示:

(備注:這里我先懶惰一下吧,看官能不能畫出這個(gè)程序的流程圖呢?特別是如果是一個(gè)初學(xué)者,流程圖一定要自己畫哦。剛才看到網(wǎng)上一個(gè)朋友說自己學(xué)編程,但是邏輯思維差,所以沒有學(xué)好。其實(shí),畫流程圖就是幫助提高邏輯思維的一種好方式,請(qǐng)畫圖吧。)

圖畫好了,按照直觀的理解,下面的代碼是一個(gè)初學(xué)者常常寫出來的(老鳥們不要噴,因?yàn)槭谴沓鯇W(xué)者的)。

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
#coding:utf-8

import random

number = random.randint(1,100)

print "請(qǐng)輸入一個(gè)100以內(nèi)的自然數(shù):"

input_number = raw_input()

if number == int(input_number):
    print "猜對(duì)了,這個(gè)數(shù)是:"
    print number
else:
    print "錯(cuò)了。"

上面的程序已經(jīng)能夠基本走通,但是,還有很多缺陷。

最明顯的就是只能讓人猜一次,不能多次。怎么修改,能夠多次猜呢?動(dòng)動(dòng)腦筋之后看代碼,或者看官在自己的代碼上改改,能不能實(shí)現(xiàn)多次猜測(cè)?

另外,能不能增強(qiáng)一些友好性呢,讓用戶知道自己輸入的數(shù)是大了,還是小了。

根據(jù)上述修改想法,新代碼如下:

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
#coding:utf-8

import random

number = random.randint(1,100)

print "請(qǐng)輸入一個(gè)100以內(nèi)的自然數(shù):"

input_number = raw_input()

if number == int(input_number):
    print "猜對(duì)了,這個(gè)數(shù)是:"
    print number
elif number > int(input_number):
    print "小了"
    input_number = raw_input()
elif number < int(input_number):
    print "大了"
    input_number = raw_input()
else:
    print "錯(cuò)了。"

嗯,似乎比原來進(jìn)步一點(diǎn)點(diǎn),因?yàn)樵试S用戶輸入第二次了。同時(shí)也告訴用戶輸入的是大還是小了。但,這也不行呀。應(yīng)該能夠輸入很多次,直到正確為止。

是的。這就要用到一個(gè)新的東西:循環(huán)。如果看官心急,可以google一下while或者for循環(huán),來進(jìn)一步完善這個(gè)游戲,如果不著急,可以等等,隨后我也會(huì)講到這部分。

這個(gè)游戲還沒有完呢,即使用了循環(huán),后面還會(huì)繼續(xù)。

相關(guān)文章

  • Python字體反爬實(shí)戰(zhàn)案例分享

    Python字體反爬實(shí)戰(zhàn)案例分享

    這篇文章主要介紹了Python字體反爬實(shí)戰(zhàn)案例分享,文章基于python的相關(guān)資料利用實(shí)習(xí)?x站點(diǎn)實(shí)戰(zhàn)案例,具有一定的的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Python中導(dǎo)入模塊的幾種方式總結(jié)

    Python中導(dǎo)入模塊的幾種方式總結(jié)

    模塊就是用一堆的代碼實(shí)現(xiàn)了一些功能的代碼的集合,通常一個(gè)或者多個(gè)函數(shù)寫在一個(gè).py文件里,下面這篇文章主要給大家介紹了關(guān)于Python中導(dǎo)入模塊的幾種方式,需要的朋友可以參考下
    2022-12-12
  • 舉例詳解Python中循環(huán)語句的嵌套使用

    舉例詳解Python中循環(huán)語句的嵌套使用

    這篇文章主要介紹了舉例詳解Python中循環(huán)語句的嵌套使用,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • opencv python 2D直方圖的示例代碼

    opencv python 2D直方圖的示例代碼

    這篇文章主要介紹了opencv python 2D直方圖的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能

    python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能

    這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python的logging.config模塊操作步驟

    Python的logging.config模塊操作步驟

    這篇文章主要介紹了Python的logging.config模塊操作步驟,本文通過示例代碼給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Python新手如何進(jìn)行閉包時(shí)綁定變量操作

    Python新手如何進(jìn)行閉包時(shí)綁定變量操作

    在本篇文章里小編給大家分享的是關(guān)于Python新閉包時(shí)綁定變量實(shí)例,有興趣的朋友們可以參考下。
    2020-05-05
  • python獲取交互式ssh shell的方法

    python獲取交互式ssh shell的方法

    今天小編就為大家分享一篇python獲取交互式ssh shell的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • pandas 讀取excel文件的操作代碼

    pandas 讀取excel文件的操作代碼

    pandas 讀取excel文件使用的是 read_excel方法。本文將詳細(xì)解析read_excel方法的常用參數(shù),以及實(shí)際的使用示例,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Python實(shí)現(xiàn)七個(gè)基本算法的實(shí)例代碼

    Python實(shí)現(xiàn)七個(gè)基本算法的實(shí)例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)七個(gè)基本算法的實(shí)例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論