print("%-10s %-15s $%8.2f %8.2f %10.2f" % (first_name[i], last_name[i],
pay_rate[i], hours[i], calculate_pay(hours[i], pay_rate[i])))
如果已经回答,请保持温和。我找不到它,也不熟悉Python和编程。
我想在数字(浮点数)旁边找一个美元符号。这是在填充内部而不是在'$'和数字之间留出空格。
期望的输出:
Please enter your first name(leave blank to quit): daniel
Please enter your last name: johnson
Please enter your hourly pay: 15
Please enter your hours: 40
Please enter your first name(leave blank to quit):
John Smith $10.00 40.00 $400.00
Daniel Johnson $15.00 40.00 $600.00
答案 0 :(得分:2)
我只是做一个帮手功能。建议使用format,而不是使用%
格式化旧格式:
def my_format(fn, ln, pr, h, cp):
return "{:10s} {:>10s} {:>8s} {:8>.2f} {:<8s}".format(
fn, ln, '$'+'{:0.2f}'.format(pr), h, '$'+'{:0.2f}'.format(cp))
print(my_format('John', 'Smith', 10, 40, 400.00))
print(my_format('Daniel', 'Johnson', 15, 50, 60))
结果:
John Smith $10.00 40.00 $400.00
Daniel Johnson $15.00 50.00 $60.00
您可以根据需要调整格式编号并自行格式化。
答案 1 :(得分:0)
你有那个空间,因为花车是右对齐的。您可以在宽度说明符之前添加前导-
,以使浮动对齐,这样它们就会位于$
符号旁边,没有任何空格:
>>> '$%8.2f' % 4.0
'$ 4.00'
>>> # left align to remove space
>>> '$%-8.2f' % 4.0
'$4.00 '
使用新式格式:
>>> '${:<8.2f}'.format(4.0)
'$4.00 '