我的输出应该是"住宅、商业、城市和教区"时,我的输出得到了"R、B、C 和 P">
我的总数也得到了 0.00,如果是企业、城市或教区,我需要总数(它们都不同(......它不是计算。
我从 .data 文件中获取输入,它们是正确的
print("=========================================================")
print(format("Name", '<12s'),format("Type", '<15s'),format("Location", '<10s'),format("KwH", '>6s'),format("Total", '>10s'))
print("=========================================================")
total = 0
for i in range(10):
custName = input()
custType = input()
custLoc = input()
custKwh = eval(input())
if (custType == "R"):
custType = "Residential"
if (custType == "B"):
custType = "Business"
total = (custKwh * 0.05710) + 10
if (custLoc == "C"):
custLoc = "City"
total = (custKwh * 0.0401) + 6
if (custLoc == "P"):
custLoc = "Parish"
total = (custKwh * 0.04411) + 6.60
print(format(custName, '<12s'),format(custType, '<15s'),format(custLoc, '<10s'),format(custKwh, '>6d'),format(total, '>10.2f'))
输入包括:
Smith R P 4500 Taylor R C 6000 Williams B C 10500 Johnson R C 7500 Davis R P 3000 Woods B P 25300 Morgan R C 5800 Landry R C 3900 Young B P 18500 Wilson R P 7000
我会把它改写成这样:
print("=========================================================")
print(
format("Name", '<12s'),
format("Type", '<15s'),
format("Location", '<10s'),
format("KwH", '>6s'),
format("Total", '>10s')
)
print("=========================================================")
total = 0
for i in range(10):
custName, custType, custLoc, custKwh = input().split(' ')
custKwh = int(custKwh)
if (custType == "R"):
custType = "Residential"
if (custType == "B"):
custType = "Business"
total = (custKwh * 0.05710) + 10
if (custLoc == "C"):
custLoc = "City"
total = (custKwh * 0.0401) + 6
if (custLoc == "P"):
custLoc = "Parish"
total = (custKwh * 0.04411) + 6.60
print(
format(custName, '<12s'),
format(custType, '<15s'),
format(custLoc, '<10s'),
format(custKwh, '>6d'),
format(total, '>10.2f')
)
这里的关键错误是您在检查 custLoc 时再次设置 custType(复制粘贴错误?