我面前有一点挑战。
目前,我正在尝试完成此过程:
-
将小数或任何数字输入二进制转换器
-
现在我们拥有一个二进制字符串,我们必须测量字符串的长度。(如 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 %