Python 實現猜數字小遊戲

2021-10-06 19:09:22 字數 3396 閱讀 3602

以下**直接用python命令就可以執行:

ps: 程式會在同目錄下建立』record.txt『的檔案,用於記錄每一次遊戲的過程

from datetime import datetime

from random import randint

defguide_page

(guide_word)

:print

('*'*10

+ guide_word +

'*'*10)

defall_num

(n):

""" 判斷n是否為數字型別 """

return n.isdigit(

)def

num_equal

(ls)

:""" 判斷列表或元組是否相等 """

return ls[0]

== ls[1]

defset_final_num

(num1, num2)

:""" 獲取區間內隨機數,用於使用者猜數字 """

num_list =

[num1, num2]

# 返回乙個符合條件的filter物件

num_str_list =

list

(filter

(lambda n: all_num(n)

, num_list)

)# 判斷使用者輸入的是否為數字,並且兩個數字不能相等,且起始區間要小於終止區間

iflen

(num_str_list)!=2

:return

false

num_list = construct_range_value(num1, num2)

if num_equal(num_list)

or num_list[0]

> num_list[1]

:return

false

print

("所產生的隨機數區間為:[, ]"

.format

(num1, num2)

)return randint(num_list[0]

, num_list[1]

)def

construct_range_value

(num1, num2)

:""" 轉換使用者輸入的兩個區間數字str型別為int型別 """

return

[int

(num1)

,int

(num2)

]def

check_num_legal

(num, ls)

:""" 判斷num是否在區間範圍內,不在返回false """

ifnot all_num(num)

:return

false

num =

int(num)

if num < ls[0]

or num > ls[1]

:return

false

return

true

defwrite_record

(times, value)

:""" 記錄每次輸入的有效數字的遊戲過程 """

file_name =

'record.txt'

value =

": \n"

.format

(times, value)

with

open

(file_name,

'a', encoding=

'utf-8'

)as f:

f.write(value)

f.flush(

)def

main()

:""" 遊戲入口函式 """

while

true

: guide_page(

'歡迎進入數字猜猜猜小遊戲'

) num1 =

input

('數字區間起始值:'

) num2 =

input

('數字區間終止值:'

)# 隨機生成數

random_final_num = set_final_num(num1, num2)

ifnot random_final_num:

print

("對不起,請輸入有效區間數字!"

)continue

# 區間數字列表

n1_n2 = construct_range_value(num1, num2)

# 猜測次數

count =

1while

true

: guess_num =

input

("請輸入您猜測的數字:"

)# 檢查使用者輸入的字元合法性

is_legal = check_num_legal(guess_num, n1_n2)

guess_num =

int(guess_num)

ifnot is_legal:

print

("對不起,您輸入的數字未在指定區間!"

)continue

now_time = datetime.now(

)if guess_num > random_final_num:

write_record(now_time,

"第次猜測的數字為:"

.format

(count, guess_num)

) count +=

1print

("higher than the answer"

)continue

elif guess_num < random_final_num:

write_record(now_time,

"第次猜測的數字為:"

.format

(count, guess_num)

) count +=

1print

("lower than the answer"

)continue

else

: write_record(now_time,

"第次猜測的數字為:,並且贏得了遊戲!"

.format

(count, guess_num)

)print

("恭喜您,只用了次就贏得了遊戲!"

.format

(count)

)return

if __name__ ==

'__main__'

: main(

)

python實現猜數字小遊戲

目錄 1 需求分析 2 實現 1 隨機生成乙個1 1000之間的數。2 10次猜數字的機會,如果沒有猜正確,遊戲結束。3 輸入 q 則退出遊戲。usr bin env python coding utf 8 猜數字遊戲 import random rule 遊戲規則 1 隨機生成乙個1 1000之間...

Python實現猜數字小遊戲

guess a number import random i 1 while i 2 ii 1 game input do you want to play?if playing,type y if game y while ii 2 z max input 你要猜的最大數字是什麼?n try a ...

猜數字小遊戲實現

1.猜字謎小遊戲,隨機生成乙個隨機數,使用者去猜,如果使用者猜的大了就提示使用者猜的太大了,如果使用者猜的小了,就提示使用者猜的太小了,如果使用者猜中了就恭喜您猜對了.寫乙個輸出函式,給玩家乙個提示,提供選擇。1.進入遊戲 2.退出遊戲 void mnue printf printf n print...