2016-03-02 99 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