# 短路和浮线

##### 问题描述投票：-2回答：1

[我试图在Python中使用短路来打印一些数据，但是尽管我写了.2f，但浮点数后并没有出现2号

((DidHourPlus == 1) and (StartWeek == 1) and (post == "r") and print("The daily salary is %2.f" %  ((hours - 8) * 35 + 8 * 30)))
((DidHourPlus == 1) and (StartWeek == 1) and (post == "s") and print("The daily salary is %2.f" % (1.20*((hours - 8) * 35 + 8 * 30))))
((DidHourPlus == 1) and (StartWeek == 1) and (post == "m") and print("The daily salary is %2.f" % (1.50*((hours - 8) * 35 + 8 * 30))))
python short short-circuiting
##### 1个回答
1

if DidHourPlus == 1 and StartWeek == 1 and post == "r": print("The daily salary is %.2f" %  ((hours - 8) * 35 + 8 * 30)))
if DidHourPlus == 1 and StartWeek == 1 and post == "s": print("The daily salary is %.2f" % (1.20*((hours - 8) * 35 + 8 * 30)))
if DidHourPlus == 1 and StartWeek == 1 and post == "m": print("The daily salary is %.2f" % (1.50*((hours - 8) * 35 + 8 * 30)))

if DidHourPlus == 1 and StartWeek == 1:
if post == "r": print("The daily salary is %.2f" %  ((hours - 8) * 35 + 8 * 30)))
if post == "s": print("The daily salary is %.2f" % (1.20*((hours - 8) * 35 + 8 * 30)))
if post == "m": print("The daily salary is %.2f" % (1.50*((hours - 8) * 35 + 8 * 30)))

if DidHourPlus == 1 and StartWeek == 1:
salary = None

if post == "r": salary = (hours - 8) * 35 + 8 * 30
if post == "s": salary = 1.20*((hours - 8) * 35 + 8 * 30)
if post == "m": salary = 1.50*((hours - 8) * 35 + 8 * 30)

if salary:
print("The daily salary is %.2f" % salary)

if DidHourPlus == 1 and StartWeek == 1:
rate = None

if post == "r": rate = 1.00
if post == "s": rate = 1.20
if post == "m": rate = 1.50

if rate:
salary = rate * ((hours - 8) * 35 + 8 * 30)
print("The daily salary is %.2f" % salary)

if DidHourPlus == 1 and StartWeek == 1:
rates = {"r": 1.00, "s": 1.20, "m": 1.50}

if post in rates:
salary = rates[post] * ((hours - 8) * 35 + 8 * 30)
print("The daily salary is %.2f" % salary)