如何在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)
我希望你想要这样。
所以我有这个程序,它给出了 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)
我希望你想要这样。