【问题标题】:Python Function Guessing Game DictionariesPython 函数猜谜游戏词典
【发布时间】:2016-06-15 02:59:58
【问题描述】:

我正在尝试制作一个游戏,请参见 (1),其中用户输入一个 4 位数字,该数字在字典中被分成 4 个项目,然后将它们与一个(随机的 4 位数字) 并且他们被告知与 a 相比,他们的数字中有多少是正确的,而不是位置。我需要创建一个函数来执行此操作,并且正在考虑类似的内容,请参见(2)。谢谢

(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

编辑:抱歉,问题是,我不知道如何创建一个有效的函数。我尝试过的其他方法最终做了一些时髦的事情,比如总是加到 16 并且不知道为什么。如果有帮助,我可以在这里发布我的全部代码。我删除的东西主要是消息等。

【问题讨论】:

  • 而问题是……

标签: python


【解决方案1】:

我认为你需要这样的东西:

>>> 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多