當前位置:
首頁 > 知識 > 用Python編程:猜數字遊戲

用Python編程:猜數字遊戲

遊戲內容:猜數字遊戲

遊戲過程描述

程序運行起來,隨機在某個範圍內選擇一個整數。

提示用戶輸入數字,也就是猜程序隨即選的那個數字。

程序將用戶輸入的數字與自己選定的對比,一樣則用戶完成遊戲,否則繼續猜。

使用次數少的用戶得勝.

分析

在任何形式的程序開發之前,不管是大還是小,都要進行分析。即根據功能需求,將不同功能點進行分解。從而確定開發過程。我們現在做一個很小的程序,也是這樣來做。

隨機選擇一個數

要實現隨機選擇一個數字,可以使用python中的一個隨機函數:random。

>>> import random #這個是必須的,因為不是內置函數

>>> 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.

1

2

3

4

5

6

7

8

9

10

隨機整數:

>>> import random

>>> random.randint(0,99)

21

1

2

3

4

隨機選取0到100間的偶數:

>>> import random

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

42

1

2

3

4

隨機浮點數:

>>> import random

>>> random.random()

0.85415370477785668

>>> random.uniform(1, 10)

5.4221167969800881

1

2

3

4

5

6

隨機字元:

>>> import random

>>> random.choice("hiekay.github.io")

"g"

1

2

3

4

多個字元中選取特定數量的字元:

>>> import random

random.sample("hiekay.github.io",3)

["w", "s", "b"]

1

2

3

4

隨機選取字元串:

>>> import random

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

"lemon"

1

2

3

4

**洗牌:**把原有的順序打亂,按照隨機順序排列

>>> import random

>>> items = [1, 2, 3, 4, 5, 6]

>>> random.shuffle(items)

>>> items

[3, 2, 5, 6, 4, 1]

1

2

3

4

5

6

代碼

#!/usr/bin/env python

#coding:utf-8

import random

number = random.randint(1,100)

print "請輸入一個100以內的自然數:"

input_number = raw_input()

if number == int(input_number):

print "猜對了,這個數是:"

print number

else:

print "錯了。"

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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

最明顯的就是只能讓人猜一次,不能多次。怎麼修改,能夠多次猜呢?動動腦筋之後看代碼,或者看官在自己的代碼上改改,能不能實現多次猜測?

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

根據上述修改想法,新代碼如下:

#!/usr/bin/env python

#coding:utf-8

import random

number = random.randint(1,100)

print "請輸入一個100以內的自然數:"

input_number = raw_input()

if number == int(input_number):

print "猜對了,這個數是:"

print number

elif number > int(input_number):

print "小了"

input_number = raw_input()

elif number < int(input_number):

print "大了"

input_number = raw_input()

else:

print "錯了。"

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

升級:

#! /user/bin/env python

#coding:utf-8

import random

number = random.randint(1,100)

i = 1

while i==1:

print "請輸入一個你猜的數字"

unumber = raw_input();

if int(unumber) > number:

print "大了"

elif int(unumber) < number:

print "小了"

elif int(unumber) == number:

print "對了"

i=2

else:

print "請輸入數字"

用Python編程:猜數字遊戲

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

求助:threejs+qml+json模型載入失敗
su /sudo 命令、限制root遠程登陸

TAG:程序員小新人學習 |