Peniisia Puzzy 2021-09-20 09: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 09: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月27日
  • 已采纳回答 9月20日
  • 创建了问题 9月20日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部