Peniisia Puzzy 2021-09-20 17:36 采纳率: 100%
浏览 24
已结题

请问这个十进制转二进制哪里写错了??

萌新第一次接触python 写了一个十进制转二进制
列表和循环都刚学,还不熟练 想请问一下哪里写错了

X =int(input('Input number'))
listc=[]
while X==1:
A = X//2
B = X%2
print(B)
listc.append[B]
X=A
pass
listc.append[1]
print(listc[::-1])

  • 写回答

1条回答 默认 最新

  • 来一份温柔 2021-09-20 17:48
    关注

    输入X!=1时进入循环,而不是等于1时进入循环,
    list的append函数用的是小括号()而不是中括号[]
    以及,最后输出如果用print(listc[::-1])只是逆序输出列表,并没有直接输出一个二进制数,可以通过循环的方式输出:
    修改如下:

    X =int(input('Input number:'))
    listc=[]
    while X!=1:
        A = X//2
        B = X%2
        print(B)
        listc.append(B)
        X=A
        pass
    listc.append(1)
    print('result:')
    for item in listc[::-1]:
        print(item,end='')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月20日
  • 创建了问题 9月20日

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题