新手代码:将输入中的单个数字转换为二进制的单独值

时间:2016-05-01 18:51:15

标签: python binary

所以,我是一年级学生,我有一项任务,要求我编写一个接受用户输入的程序(在这种情况下,我的学生ID)将每个数字转换为二进制数,然后检查它是否& #39;是正确的ID,如果它是点亮贪婪的LED。

我知道如何输入ID,我知道如何检查它是否正确,我知道如何点亮LED。

基本上我所追求的是

id = input
id = list(id)

然后我需要将列表中的每个数字转换为二进制,例如[1,2,3,4][0001,0010,0011,0010]然后

  if id[0] ==binary_1:
   print ("correct")
   light green LED
  else:
   print ("incorrect")
   light red LED

我不知道如何处理如何将输入分成单个数字然后将它们转换为二进制数。谷歌的结果很少,bin没有做我需要的。

任何想法或帮助都会受到赞赏。我完全失去了。

3 个答案:

答案 0 :(得分:1)

试试这个:

以字符串形式读取输入,以便它可迭代。然后将每个数字转换为整数,然后转换为二进制,以便进行评估:

user: {
        type: [User]
      }

答案 1 :(得分:1)

尝试:

binlist=[int(bin(i)[2:]) for i in id]

这称为列表理解,您将迭代列表ID的每个元素,将所需的更改应用于元素并将其附加到binlist。

答案 2 :(得分:1)

使用列表推导将转换应用于二进制

ids = [1,2,3,4]

bins = ['{0:04b}'.format(i) for i in ids]

print(bins)

['0001', '0010', '0011', '0100']

这会给你二进制数字作为字符串,例如'0001',它在python中不是真正的二进制,但应该正是你想要的