首页 > 解决方案 > 在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

任何帮助,将不胜感激。我只是想学习这个,并把它带到我的工作中。谢谢 :)

标签: pythonbinary-data

解决方案


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

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

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

作为您第二次尝试获取用户输入,您需要使用 append 方法。

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

推荐阅读