2016-03-02 132 views
-6

我正在嘗試做一個遊戲,請參閱(1),其中用戶輸入一個4位數的數字,數字在字典中被分割爲4個項目,然後將這些項目與一個隨機的4位數字),他們被告知他們有多少數字與a相比是正確的,但不是這個位置。我需要創建一個函數來做到這一點,並且正在考慮類似的問題,參見(2)。由於Python函數猜測遊戲字典

(1)

import random 
b = list(input("input a four digit number: ")) 
b1 = b[0] 
b2 = b[1] 
b3 = b[2] 
b4 = b[3] 
b = {1:int(b1), 2:int(b2), 3:int(b3), 4:int(b4)} 
a1 = random.randint(0,9) 
a2 = random.randint(0,9) 
a3 = random.randint(0,9) 
a4 = random.randint(0,9) 
a = {1:int(a1), 2:int(a2), 3:int(a3), 4:int(a4)} 

(2)

def b_in_a(): 
    for b[i] in a: 
     x += 1 

編輯:對不起,問題是,我不知道如何創建一個函數,effectivley做到這一點。我嘗試過的其他方法最終做了像總是添加到16的時髦事物,並且不知道爲什麼。如果這有助於我可以發佈我在這裏的整個代碼。我刪除的東西主要是消息等。

+4

而且問題是... – Selcuk

回答

0

我想你需要的東西是這樣的:

>>> from random import randint 
>>> num1 = list(map(int, list(input("Input 4-digit number:")))) 
Input 4-digit number:1234 
>>> num1 
[1, 2, 3, 4] 
>>> num2 = [randint(0, 9), randint(0, 9), randint(0, 9), randint(0, 9)] 
>>> num2 
[2, 4, 8, 4] 
>>> count = 0 
>>> for i in range(4): 
...  if num1[i] == num2[i]: 
...   count += 1 
... 
>>> count 
1