如何在单词之间保持空格? 在代码中它会删除它们并在列中打印它们。.那么如何在行中和空格处打印它们?
s ='[]'
f = open('q4.txt', "r")
for line in f:
for word in line:
b = word.strip()
c = list(b)
for j in b:
if ord(j) == 32:
print ord(33)
if ord(j) == 97:
print ord(123)
if ord(j) == 65:
print ord(91)
chr_nums = chr(ord(j) - 1)
print chr_nums
f.close()
答案 0 :(得分:0)
简短的回答:删除word.strip()
命令-删除空格。然后在print
操作后加逗号以防止换行:print chr_nums,
除了您在此处询问的内容外,您的代码还有一些问题:
ord()
采用的字符串(字符)不是整数,因此ord(33)
将失败。 for word in line:
将遍历字符而不是单词,因此word
将是单个字符,for j in b
是不必要的。答案 1 :(得分:0)
看看第一个for循环:
for line in f:
此处名为“ line”的变量实际上是您正在读取的文本文件中的一行。因此,这个“行”变量实际上是一个字符串。现在看看第二个for循环:
for word in line:
在这里,您正在使用一个名为'line'的字符串变量的for循环,该变量是我们从上一个循环获得的。因此,在名为“ word”的变量中,您不会得到一个单词,而是一个一个接一个地字符。让我用一个简单的例子演示一下:
for word in "how are you?":
print(word)
此代码的输出如下:
h
o
w
a
r
e
y
o
u
?
您将从该行中获取单个字符,因此您无需像在'b中的for j中一样使用另一个for循环。希望对您有帮助。