获取二进制整数作为 python 中的输入

Get binary integer as input in python

我正在解决 Jumping on Clouds 问题,我知道解决这个问题的算法But my problem is with the syntax 我刚刚开始我的 python 之旅,准确地说,我一直坚持这一点。

要求:我需要制作一个二进制整数数组,并且只能是1或0。例如:[1, 0, 0, 1, 0, 1]

我已经尽力做到这一点,但没有运气。

我的代码:

现在我所做的是,获取整数元素的二进制数,然后将其除以4以获取二进制数的最后一位。但它不适用于每个整数。因为我想要二进制数中的 0 或 1。

c = []
for i in range(0, 6):
  c[i] = int(bin(any_random_number)[4:])

我也试过这样做,to check whether the input is 0 or 1, if not do not add it但没有成功

第二次尝试:

c = []
for i in range(0, 6):
  data = int(input())
  if(data == 0 or data == 1):
    c[i] = data
  else:
    data = 0
    c[i] = data

如有任何帮助,我们将不胜感激。我只想学习这个,并将其应用到我的工作中。谢谢:)

如果您只想要一个 0 和 1 的随机数组,您可以使用随机模块

[random.choice([1,0]) for _ in range(0,6) ]

这将输出一个由 0 和 1 组成的随机数组

第二次尝试获取用户输入时,您需要使用附加方法。

c = []
for i in range(0, 6):
  data = int(input())
  if(data == 0 or data == 1):
    c.append(data)
  else:
    c.append(0)