【问题标题】:Get binary integer as input in python在python中获取二进制整数作为输入
【发布时间】:2019-09-19 06:29:40
【问题描述】:

我正在解决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

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

【问题讨论】:

  • 请注意,如果c 中没有第i 个元素,您将无法访问c[i]。请改用c.append(data)
  • 谢谢,我做错了。 c.append() 有效。

标签: python binary-data


【解决方案1】:

如果你只想要一个 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)

【讨论】:

  • 不,我只想接受用户的输入。
猜你喜欢
  • 2014-10-15
  • 2020-05-15
  • 2012-05-11
  • 2017-10-29
  • 1970-01-01
  • 2010-11-12
  • 2019-02-04
  • 1970-01-01
相关资源
最近更新 更多