小编pot*_*wjy的帖子

如何生成随机字典?

我需要创建一个给定范围的带有键和随机值的字典,即

{key 1: value1, key 2: value2, key 3: value1, key 4: value 1, key 5: value 1}
Run Code Online (Sandbox Code Playgroud)

或者

{key 1: value2, key 2: value1, key 3: value1, key 4: value 1, key 5: value 1}
Run Code Online (Sandbox Code Playgroud)

或者

{key 1: value1, key 2: value1, key 3: value1, key 4: value 1, key 5: value 2}
Run Code Online (Sandbox Code Playgroud)

...等等

如您所见,字典具有以下模式:

  • 键是由函数的输入数字生成的,如果我输入5,我有5个键,如果我输入3,我有3个键
  • 该值只有 2 个不同的值(value1value2),但value2在任何键中只能随机出现 1 次。剩余的值将为value1

代码:

def function(n):
   from random import randrange
   mydict = {} …
Run Code Online (Sandbox Code Playgroud)

python random dictionary

2
推荐指数
1
解决办法
5520
查看次数

计算步数达到 0 的函数

给定一个二进制数,我需要编写一个函数来计算达到零的总步数。规则是:

  • 如果数字是偶数,则除以 2
  • 如果数字是奇数,则减去 1

例如,“1110”(14) 需要迭代 6 次才能变为 0:

  • 14 / 2 = 7
  • 7 - 1 = 6
  • 6 / 2 = 3
  • 3 - 1 = 2
  • 2 / 2 = 1
  • 1 - 1 = 0

我提出了一个简单的解决方案来进行计算,但该算法无法处理非常大的数字。

def test(x):
    a = int(x,2)
    steps = 0
    while a != 0:
        if a % 2 == 0:
            a = a // 2  
        else:
            a = a - 1
        steps += 1
    return steps
Run Code Online (Sandbox Code Playgroud)
test("1000")
Out[65]: 4

test("101")
Out[66]: …
Run Code Online (Sandbox Code Playgroud)

python zero

1
推荐指数
1
解决办法
5431
查看次数

标签 统计

python ×2

dictionary ×1

random ×1

zero ×1