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 关于IMageEnView 图标定位问题
  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题
  • ¥15 fanuc机器人PRIO083数字信号未复原错误,如何解决?
  • ¥20 如何为现有电路板增加远程控制功能
  • ¥15 UE5打包失败,求解决
  • ¥15 请问STM32G431的CANOPEN协议函数怎么写
  • ¥15 graphpad prism 三因素重复测定报错