【问题标题】:Why does Python add a whitespace after printing int then string? [duplicate]为什么 Python 在打印 int then string 后添加空格? [复制]
【发布时间】:2021-03-30 07:42:33
【问题描述】:

这是我的代码:

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')

这是输出(样本):

Amount of numbers:8
1st
2nd
3rd
4 th
5 th
6 th
7 th
8 th

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

【问题讨论】:

  • 将此用于elif部分elif x >= 4: x = str(x)+'th' print(x)
  • docs"print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)打印objects到文本流filesep分隔后跟@987654329 @。”

标签: python


【解决方案1】:

不要使用, 逗号,它会自动给出一个空格。

所以把最后一行改成:

        print(x, 'th')

收件人:

        print(str(x) +'th')

【讨论】:

    【解决方案2】:

    您可以将数字转换为字符串,然后将其打印为

    print(str(x) + 'th')

    或者您可以将默认分隔符的值更改为空字符串而不是默认空格:

    print(x, 'th', sep='')

    【讨论】:

      【解决方案3】:

      你可以optionally give a separator argument 任何你想要的“逗号应该如何表现”(作为其他答案的另一个选项......

      print("a","b",sep="+")
      a+b
      

      所以你可以使用""

      print("a","b",sep="")
      ab
      

      如果您确实决定使用单个字符串,因为其他答案建议您真的应该只使用字符串格式而不是 + 连接

      print("{num}th".format(num=x))
      

      【讨论】:

        【解决方案4】:

        打印功能

        您可以将数字转换为字符串,然后打印出来。 print(str(x) + 'th')

        或者直接使用sep

        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', sep="")
        

        使用格式字符串

        或者你也可以使用这个。

        print("{num}th".format(num=x))
        

        或 f 个字符串

        print(f"{x}th")
        

        【讨论】:

          【解决方案5】:

          使用格式化字符串在字符串中插入变量。 f"{x}th"

          【讨论】:

            猜你喜欢
            • 2021-10-30
            • 1970-01-01
            • 2023-01-11
            • 1970-01-01
            • 1970-01-01
            • 2010-09-20
            • 2022-08-17
            • 2016-08-25
            相关资源
            最近更新 更多