御笔剑客 发表于 2017-11-18 22:31:45

用python怎么写这道题?

对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:
  000000
  000001
  000010
  000011
  000100
  请按从小到大的顺序输出这64种01串。

lfjking 发表于 2017-11-18 22:38:19

格式化字符串 采用 2进制输出就可以了

御笔剑客 发表于 2017-11-18 22:40:26

lfjking 发表于 2017-11-18 22:38
格式化字符串 采用 2进制输出就可以了

二进制输出?

第四时空 发表于 2017-11-18 23:06:14

本帖最后由 第四时空 于 2017-11-18 23:17 编辑

for i in range(64):
    print("%06d" % int(bin(i)))
for i in range(64):
    print("{0:06b}".format(i))

御笔剑客 发表于 2017-11-18 23:18:57

第四时空 发表于 2017-11-18 23:06


print("%06d" % int(bin(i)))这句后面的 int(bin(i)表示什么意思呢?

第四时空 发表于 2017-11-18 23:23:26

御笔剑客 发表于 2017-11-18 23:18
print("%06d" % int(bin(i)))这句后面的 int(bin(i)表示什么意思呢?

建议用第二种写法
第一种写法是把 i 转换为二进制数,是变成了 0b1 这样的二进制数值。前面的0b不需要,是切片,意思是只保留从第2个下标往后的值。0b1一切就成了1

御笔剑客 发表于 2017-11-18 23:31:14

第四时空 发表于 2017-11-18 23:23
建议用第二种写法
第一种写法是把 i 转换为二进制数,是变成了 0b1 这样的二进制数值。前面的0b不需要, ...

我明白了,谢谢了
页: [1]
查看完整版本: 用python怎么写这道题?