我需要编写一个程序,要求用户输入一个 16 位二进制数,然后将其转换为十进制。我只被允许使用 if-else 语句(没有 for/while 等......并且没有函数)。
我的问题不在于转换本身。
我的问题是将用户的号码表示为 16 位数字,一旦他输入了一个少于 16 位的数字。例如,如果用户输入“1111”,我需要将其转换为“0000 0000 0000 1111”。
我试过了 :
A=int(input("Please enter a 16-bit decimal number:"))
B=0000000000000000
C=A or B
print (C)
这给了我 A 中的原始数字(我真的不明白为什么)。
我还尝试将用户的输入视为字符串,但据我了解,Python 开始从左到右对字符进行编号,所以在 A=1111 的情况下,我只有 A[0]-A[3] 所以我有点坚持下去。
我知道我可以使用一些函数,但是作业是只使用我们在课堂上学到的主题,基本上只有 if-else 语句(和赋值语句)。
谢谢你。尤尔