2016-03-02 5 views
-6

Я пытаюсь создать игру, см. (1), где пользователь вводит 4-значное число, число разделяется на 4 элемента в словаре, а затем сравнивается с (случайное 4-значное число), и им сообщается, сколько их чисел правильное по сравнению с a, но не положением. Мне нужно создать функцию для этого и думать о чем-то вроде, см. (2). БлагодаряPython Function Guessing Game Словари

(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 

Edit: извините, проблема, я не знаю, как создать функцию, которая 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