如何在for循环中用空格分隔值

how to separate values with spaces in for loop

所以我有这个程序,它给出了 ascii 值的二进制值加上用户输入字符串的 1。

text = input()
bitString = ''
for ch in text:
    new = ord(ch) + 1

    decimal = new
    while decimal > 0:
        remainder = decimal % 2
        decimal = decimal // 2
        bitString = str(remainder) + bitString

print(bitString)

如果用户输入 "abcde" 输出将是

11001101100101110010011000111100010

如何获取用空格分隔的二进制值,输出将是

1100010 1100011 1100100 1100101 1100110

?

尝试像这样在最后使用 space

    remainder = decimal % 2
    decimal = decimal // 2
    bitString = str(remainder) + bitString + " "

这应该可以解决

解决方法如下:

text = input()
bitString = ''
for ch in text:
    new = ord(ch) + 1

    decimal = new
    while decimal > 0:
        remainder = decimal % 2
        decimal = decimal // 2
        bitString = str(remainder) + bitString
splitStr = [bitString[i:i+7] for i in range(0, len(bitString), 7)]
print(" ".join(splitStr[::-1]))

结果:

1100010 1100011 1100100 1100101 1100110

OR

text = input()
bitString = ''
for ch in text:
    new = ord(ch) + 1
    decimal = new
    while decimal > 0:
        remainder = decimal % 2
        decimal = decimal // 2
        bitString = str(remainder) + bitString
    bitString = " " + bitString

print(" ".join(bitString.split()[::-1]))

结果:

1100010 1100011 1100100 1100101 1100110

您的代码略有改动以添加 space:

text = input()
bitString = ''
for ch in text:
    new = ord(ch) + 1

    decimal = new
    while decimal > 0:
        remainder = decimal % 2
        decimal = decimal // 2
        bitString = str(remainder) + bitString

    bitString = " " + bitString

print(bitString)

输出:

1100010 1100011 1100100 1100101 1100110

试试这个:

revBitString = bitString[::-1]
print(' '.join([revBitString[i:i+7][::-1] for i in range(0,len(revBitString),7)]))
input = 'abcde'
bitString = ''
for i in list(input):
    bitString =  bitString + bin(ord(i)+1)[2:] + ' '
print(bitString)

我希望你想要这样。