为什么python在从字符串或列表打印时会生成半个空格? finale\u line=[] 打印类型(最后一行)#正在检查# 批号=() 绘制的数量=() def load(): 第一个=输入(“输入第一批:”) 最后一批=输入(“输入最后一批:”) 对于范围内的批号(第一个、最后一个): 行输出=str(批号) 对于范围(1,5)内的计数: 绘制的编号=原始输入(“编号:”) line\u out=line\u out+绘制的编号 打印第#行#确保此时为字符串# 最后一行。追加(第行) 最后一行2=最后一行 加载() 再次打印最后一行,只是检查一下# 打印(“*4), 对于范围(1,21)内的n: 打印n,这是为了产生一行数字,与输出进行比较 对于最后一行: 打印“\n”, 打印[0],“”, 空间计数=1 对于范围(1,5)内的b: 如果int(a[b])

为什么python在从字符串或列表打印时会生成半个空格? finale\u line=[] 打印类型(最后一行)#正在检查# 批号=() 绘制的数量=() def load(): 第一个=输入(“输入第一批:”) 最后一批=输入(“输入最后一批:”) 对于范围内的批号(第一个、最后一个): 行输出=str(批号) 对于范围(1,5)内的计数: 绘制的编号=原始输入(“编号:”) line\u out=line\u out+绘制的编号 打印第#行#确保此时为字符串# 最后一行。追加(第行) 最后一行2=最后一行 加载() 再次打印最后一行,只是检查一下# 打印(“*4), 对于范围(1,21)内的n: 打印n,这是为了产生一行数字,与输出进行比较 对于最后一行: 打印“\n”, 打印[0],“”, 空间计数=1 对于范围(1,5)内的b: 如果int(a[b]),python,python-2.7,Python,Python 2.7,我不知道你所说的“半”空间是什么意思,但我认为让你困惑的是你认为不应该出现在数字之间的“额外”空间;我说得对吗 如果是这样的话,那么它来自print语句中的最后一个逗号。您正在使用它停止在输出后打印新行,但您没有意识到,当它碰到逗号时,会打印一个额外的空格。在Python命令提示符下尝试以下操作: >>> <type 'list'> enter first lot: 1 enter last lot: 4 number: 2 number: 3 number: 4

我不知道你所说的“半”空间是什么意思,但我认为让你困惑的是你认为不应该出现在数字之间的“额外”空间;我说得对吗

如果是这样的话,那么它来自
print
语句中的最后一个逗号。您正在使用它停止在输出后打印新行,但您没有意识到,当它碰到逗号时,会打印一个额外的空格。在Python命令提示符下尝试以下操作:

>>>
<type 'list'>
enter first lot: 1
enter last lot: 4
number: 2
number: 3
number: 4
number: 5
12345
number: 1
number: 2
number: 3
number: 4
21234
number: 3
number: 4
number: 5
number: 6
33456
['12345', '21234', '33456']
     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
1     2   3   4   5 
2    1   2   3   4 
3      3   4   5   6
>>> 
我没有在“你好”后面加空格,那么它是从哪里来的呢?答:逗号

您的困惑主要源于两件事:1)在工作中使用了错误的工具,2)对Python的输出方式缺乏深入的理解(对于Python初学者来说是可以理解的)

问题1可以通过使用
sys.stdout.write()
而不是
print
来解决。(请注意,在使用系统之前,您需要导入系统)
write()
不添加任何空格或换行符;您需要自己指定空格和换行符。(换行符是Python字符串中的
\n
,以防忘记)。因此,您的输出将更加可预测

问题2可以通过尽快解决。注意字符串方法的使用,如
.rjust()
.format()
:习惯这些方法,你会学会爱上它们。事实上,你很快就会想知道,既然有这么强大的功能可以为你做,你为什么还要用手来做这种字符串格式化呢


希望这有帮助,并享受学习Python的乐趣

很抱歉,您的输出中哪里有问题?我不确定您的预期输出是什么,但我怀疑使用
str.join
和/或
format
比手动分隔要容易得多。请尝试:
print”“。加入(格式(num)
>>>
<type 'list'>
enter first lot: 1
enter last lot: 4
number: 2
number: 3
number: 4
number: 5
12345
number: 1
number: 2
number: 3
number: 4
21234
number: 3
number: 4
number: 5
number: 6
33456
['12345', '21234', '33456']
     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
1     2   3   4   5 
2    1   2   3   4 
3      3   4   5   6
>>> 
>>> def hello():
...     print "Hello",
...     print "world"
... 
>>> hello()
Hello world