Python:设置一个二进制数字字符串转换器,然后索引结果



我面前有一点挑战。

目前,我正在尝试完成此过程:

  • 将小数或任何数字输入二进制转换器

  • 现在我们拥有一个二进制字符串,我们必须测量字符串的长度。(如 numstr="10001010" - 我希望返回计数字符并返回"8")

  • 最后,我需要提取所述字符串的一部分,如果我想切掉字符串"10001010"的前半部分并保存两半,我希望返回为"1000"和"1010">

当前进展:

newint=input("Enter a number:")
newint2= int(newint)
binStr=""
while newint2>0:
binStr= str(newint2%2) + binStr
newint2= newint2//2
print (binStr)
newint = input("Enter a binary number:")
temp=newint
power = 0
number = 0
while len(temp) > 0:
bit=int(temp[-1])
number = number + bit * 2 ** power
power+=1
temp = temp[:-1]
print(number)

这适用于整数值,如何让它也适用于十进制值,其中整数要么在那里,要么为 0(35.45 或 0.4595)?

这就是我迷路的地方,我不确定尝试下一步的最佳方式是什么。

将十进制或整数转换为二进制表示后,如何通过不同的长度来切割字符串?假设我的二进制表示是 100 个字符,我想剪掉总长度 10% 的长度,所以我得到 10 个 10 个字符的块,或者总长度为 20% 的块,所以我有 5 个 20 个字符的块。

任何建议都是值得赞赏的,我是一个超级新手,这对我来说是一个严峻的挑战。

字符串可以通过切片表示法进行划分。

a='101010101010'
>>>a[0]
'1'
>>>a[0:5]
'10101'
>>>a[0:int(len(a)/2)]
'101010'

如果你要进入Python,这是你应该阅读的东西。

这是我的建议,基于答案 将字符串拆分为固定长度的块并在 Python 中使用它们的最佳方法是什么?

def chunkstring(string, percent):
length = int(len(string) * percent / 100)
return ([string[0+i:length+i] for i in range(0, len(string), length)])
# Define a string with 100 characters
a = '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'
# Split this string by percentage of total length
print(chunkstring(a, 10))   # 10 %
print(chunkstring(a, 20))   # 20 %

最新更新