You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除Python打印语句中括号与数字间的空格?

解决Python打印电话号码时括号与数字间的空格问题

你的问题出在print函数的默认行为:当传入多个参数时,它会自动用空格分隔所有参数,所以'('、area_code、')'之间会被插入空格,导致输出( 800 )。下面是几种直接的解决办法:

  • 使用f-string(Python3.6+推荐)
    直接在格式化字符串里把括号和区号拼接,完全控制输出格式:

    phone_number = int(input())
    last_four = phone_number % 10000
    area_code = phone_number // 10000000
    middle_three = (phone_number % 10000000) // 10000
    print(f'({area_code}) {middle_three}-{last_four}')
    
  • 使用str.format()方法
    兼容Python3.5及更早版本,同样能精确控制格式:

    phone_number = int(input())
    last_four = phone_number % 10000
    area_code = phone_number // 10000000
    middle_three = (phone_number % 10000000) // 10000
    print('({}) {}-{}'.format(area_code, middle_three, last_four))
    
  • 手动拼接字符串
    把各个部分转换成字符串后直接拼接,避免print的自动分隔:

    phone_number = int(input())
    last_four = phone_number % 10000
    area_code = phone_number // 10000000
    middle_three = (phone_number % 10000000) // 10000
    print('(' + str(area_code) + ') ' + str(middle_three) + '-' + str(last_four))
    
  • 修改print的sep参数
    把分隔符设为空字符串,同时调整参数里的内容来保留需要的空格:

    phone_number = int(input())
    last_four = phone_number % 10000
    area_code = phone_number // 10000000
    middle_three = (phone_number % 10000000) // 10000
    print('(', area_code, ')', ' ', middle_three, '-', last_four, sep='')
    

内容的提问来源于stack exchange,提问作者Spearius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:10:01