0

我正在尝试创建一个 binary32 浮点到十进制转换器,它由八位指数和二十四位尾数组成。我有exponent = []mantissa = []。如果用户输入我想要添加010000111111101101000000000000000索引一到八,value并添加exponent索引九到三十二。我目前有以下意大利面条代码来执行此操作:valuemantissa

print ("Welcome to August's floating point value to decimal converter!")
value = input("Please enter 32 bit floating value to convert.")
exponent = []
mantissa = []
exponent.append(value[1])
exponent.append(value[2])
exponent.append(value[3])
exponent.append(value[4])
exponent.append(value[5])
exponent.append(value[6])
exponent.append(value[7])
exponent.append(value[8])
print (exponent)
mantissa.append(value[9])
mantissa.append(value[10])
mantissa.append(value[11])
mantissa.append(value[12])
mantissa.append(value[13])
mantissa.append(value[14])
mantissa.append(value[15])
mantissa.append(value[16])
mantissa.append(value[17])
mantissa.append(value[18])
mantissa.append(value[19])
mantissa.append(value[20])
mantissa.append(value[21])
mantissa.append(value[22])
mantissa.append(value[23])
mantissa.append(value[24])
mantissa.append(value[25])
mantissa.append(value[26])
mantissa.append(value[27])
mantissa.append(value[28])
mantissa.append(value[29])
mantissa.append(value[30])
mantissa.append(value[31])
mantissa.append(value[32])
print (mantissa)

因此,与其单独附加每个索引,我想知道是否有一种方法可以将它们全部添加到列表中。我尝试了以下extend方法:

exponent.extend(value[1, 2, 3, 4, 5, 6, 7, 8])也没有逗号

exponent.extend(value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], )然后我意识到extend只需要一个论点。

exponent.extend(value[1-8])这似乎减去了一和八。

我试过exponent = {}哪个是我相信的系列?然后尝试exponent.update用逗号跟随多个索引。然后告诉我它只支持一个论点。

关于如何将多个索引添加value到列表中的任何其他建议?

4

2 回答 2

3

使用字符串切片可以编写相同的代码:

value = input("Please enter 32 bit floating value to convert.")

exponent, mentissa= value[1:9], value[9:]
于 2016-10-26T13:30:02.740 回答
1

尽管您的问题得到了一个简洁的解决方案,但我想实际回答您的原始问题。您可以使用其中任何一个将列表添加到列表中:

a = [1, 2, 3]
b = [4, 5, 6]
c = a + b    # c is now [1, 2, 3, 4, 5, 6]
a.extend(b)  # a is now [1, 2, 3, 4, 5, 6]

请注意,list.extend实际上会修改列表,而添加本身不会。但是,您可以这样做a += b并获得与a.extend(b).

因此,您可以执行以下操作:

exponent.extend(value[1:9])

如果您使用list.extend,您实际上可以使用任何可迭代的(如元组或集合),但是当您使用时a += bc = a + b它们通常都需要是相同的类型。

于 2016-10-26T14:16:05.957 回答