为什么 Python 在打印 int 然后 string 后添加一个空格?

Ale*_*rev 3 python

这是我的代码:

num = input('Amount of numbers:')
num = int(num)
for x in range(1, num + 1):
    if x == 1:
        print('1st')
    elif x == 2:
        print('2nd')
    elif x == 3:
        print('3rd')
    elif x >= 4:
        print(x, 'th')
Run Code Online (Sandbox Code Playgroud)

这是输出(样本):

Amount of numbers:8
1st
2nd
3rd
4 th
5 th
6 th
7 th
8 th
Run Code Online (Sandbox Code Playgroud)

如您所见,4 之后的所有数字在它和“th”之间都有一个空格。我该如何解决?

Jor*_*ley 7

您可以选择为“逗号的行为方式”提供您想要的任何分隔符参数(作为其他答案的另一种选择...

print("a","b",sep="+")
a+b
Run Code Online (Sandbox Code Playgroud)

所以你可以使用 ""

print("a","b",sep="")
ab
Run Code Online (Sandbox Code Playgroud)

如果您确实决定使用单个字符串,因为其他答案表明您应该只使用字符串格式而不是+串联

print("{num}th".format(num=x))
Run Code Online (Sandbox Code Playgroud)