如何去除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
相关产品推荐
相关产品推荐

