猜數字XAXB型別

2021-10-11 16:13:42 字數 2116 閱讀 1265

題目5 數字猜猜猜

背景:益智類小遊戲對於同學們放鬆心情,調整心態,積蓄力量,再潛心學習

需求描述:

啟動程式,使用者根據提示輸入幾位不重複數字,系統給出xaxb的結果判斷,直到使用者選擇退出或猜對為止,系統提示猜測次數,並提示使用者新開一局。使用者選擇開始新的遊戲或者退出。

import random  # 呼叫函式

list1 =

[1234

,4567

,5678

,6789

]result = random.choice(list1)

# 隨機列表中的乙個數字

defcount

(guess, result)

:# 計算a,b的數量

guess =

str(guess)

# 將數字轉換成字串

result =

str(result)

numa =

0 numb =

0for i in

range(4

):if guess[i]

== result[i]

:# 當相同位置上有相同的數字時,a的數量加1

numa +=

1elif guess[i]

in result:

# 當位置上的數字不相同時,判斷在其他位置上是否有該數字,b的數量加1

numb +=

1sum

=str

(numa)

+str

(numb)

return

sumdef

check

(guess)

:# 判斷猜測資料是否符合要求

if guess in

range

(1000

,10000):

# 判斷數字是否是4位數

guess =

str(guess)

for i in

range(4

):a = guess[i]

for j in

range

(i+1,4

):if a == guess[j]

:print

("數字不能有重複的"

)return

2print

("數字符合要求"

)return

1else

:print

("數字有效位數為4位"

)return

3n =

0while

true

: n = n+

1 guess =

int(

input

("請輸入猜測的數字(四位有效數字,不能重複):"))

# 使用者輸入

if check(guess)==1

:# 進行判斷

num = count(guess, result)

ifint

(num[0]

)==4:

print

("恭喜你,猜中了:"

, guess, n,

'次')

# 判斷成功,輸出次數

print

('是否重新開始遊戲,或者退出。y繼續n退出'

) select =

input

("請輸入你的選擇:"

)# 使用者輸入是否繼續

if select !=

"n":

# 進行判斷使用者輸入是否為n,如果是n則退出遊戲,否則重新開始

continue

# 重新開始遊戲

else

:print

('遊戲結束'

)break

else

:print

("錯誤,請重新輸入:"

,int

(num[0]

),"a",

int(num[1]

),"b")

# 判斷使用者輸入錯誤,進行 提醒

else

:print

("猜測的數字不符合要求,請重新輸入"

)# 提醒使用者輸入錯誤

猜數字c 限制 猜數字小遊戲

週末看到的乙個猜數字小遊戲 挺有意思的 include include include using namespace std void start void getresults int i,j,life,maxrand char c void start life 5 玩家生命數 srand u...

猜數字遊戲

問題描述 猜數字遊戲 隨機出乙個兩位數,然後讓你猜,直到猜對為止。猜對後可以提示選擇是否再玩一次。include include using namespace std int main srand unsigned int time null int num rand 90 10 隨機出乙個兩位數...

猜數字遊戲

author 徐權 data 2015728 function 猜數字遊戲 實用平台 vs2012及以上 如果要移植到其他平台scanf s和puts s 應改為scanf和puts即可 include include include include define n 5 定義陣列大小,從而決定猜的...