最近,我一直在开发一个代码,允许用户根据婚姻状况和是否有孩子来制定保险计划,并将总数相加。唯一的问题是,当我想要得到总数时,输出内容如下:
NameError: name 'TotalCostRS' is not defined
此错误也适用于输入的任何其他选项,仅“TotalCost”变量切换到未定义的变量之一
我的代码:
import random
from random import randint
ReferenceID = int(random.randint(1000,9999))
ReferenceIDInstances = 0
FamilyStatus = False
LSCounter = int(1)
RSCounter = int(1)
HSCounter = int(1)
LFCounter = int(1)
RFCounter = int(1)
HFCounter = int(1)
LFCCounter = int(1)
RFCCounter = int(1)
HFCCounter = int(1)
while ReferenceID >= 10000 or ReferenceIDInstances!= 1:
ReferenceIDInstances += 1
print("This inquiry reference ID is:", ReferenceID)
print("If you are an administrator, enter ADMIN to view all inquiries.")
UserID = int(input("Please enter your four digit PIN:" + "\n"))
if(UserID <= 1000 or UserID >= 100000):
print("User ID is invalid. Please try again.")
else:
Continue = "Y"
while Continue != "N":
IndividualName = input("Please enter individual's full name:")
Individual = input("Please enter individual's plan level as L, R or H (Low, Regular or High):")
IndividualStatus = input("Is this individual single or have a family? (S/F):")
IndividualInheritance = input("Please enter status as C or NC for (children or no children):")
if(Individual == "L" and IndividualStatus == "S"):
TotalCostLS = float(36.25)
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print(TotalCostLS*LSCounter)
TC1 = TotalCostLS*LSCounter
LSCounter += 1
elif(Individual == "R" and IndividualStatus == "S"):
TotalCostRS = int(float(48.90))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostRS*RSCounter)
TC2 = TotalCostRS*RSCounter
RSCounter += 1
elif(Individual == "H" and IndividualStatus == "S"):
TotalCostHS = int(float(69.80))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostHS*HSCounter)
TC3 = TotalCostHS*HSCounter
HSCounter += 1
elif(IndividualStatus == "L" and Individual == "F" ):
StopAsyncIteration
TotalCostLF = int(float(56.50))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostLF*LFCounter)
TC4 = TotalCostLF*LFCounter
LFCounter += 1
elif(Individual == "R" and IndividualStatus == "F"):
TotalCostRF = int(float(74.70))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostRF*RFCounter)
TC5 = TotalCostRF*RFCounter
RFCounter += 1
elif(Individual == "H" and IndividualStatus == "F"):
TotalCostHF = int(float(99.45))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostHF*HFCounter)
TC6 = TotalCostHF*HFCounter
HFCounter += 1
elif(Individual == "L" and IndividualStatus == "F" and IndividualInheritance == "C"):
TotalCostLFC = int(float(98.35))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostLFC*LFCCounter)
TC7 = TotalCostLFC*LFCCounter
LFCCounter += 1
elif(Individual == "R" and IndividualStatus == "F" and IndividualInheritance == "C"):
TotalCostRFC = int(float(136.75))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostRFC*RFCCounter)
TC8 = TotalCostRFC*RFCCounter
RFCCounter += 1
elif(Individual == "H" and IndividualStatus == "F" and IndividualInheritance == "C"):
TotalCostHFC = int(float(174.55))
print(ReferenceID, "User ID#:", UserID)
print(IndividualName, "HAS BEEN REGISTERED.")
print("$",TotalCostHFC*HFCCounter)
TC9 = TotalCostHFC*HFCCounter
HFCCounter += 1
Continue = input("Continue? (Y/N):")
TC1 = TotalCostLS*LSCounter
TC2 = TotalCostRS*RSCounter
TC3 = TotalCostHS*HSCounter
TC4 = TotalCostLF*LFCounter
TC5 = TotalCostRF*RFCounter
TC6 = TotalCostHF*HFCounter
TC7 = TotalCostLFC*LFCCounter
TC8 = TotalCostRFC*RFCCounter
TC9 = TotalCostHFC*HFCCounter
sum(TC1,TC2,TC3,TC4,TC5,TC6,TC7,TC8,TC9)
This is the sample expected output that we have been told to recreate:
Please enter the client’s ID or ’0’ to quit: 5555 Please enter the plan level as L, R or H (Low, Regular or High):h Please enter the type of coverage (S for single and F for family): f Please enter status as C or NC for (children or no children): nc ID: 5555Payment: $99.45 Please enter the client’s ID or ’0’ to quit: 0 Total payment is $440.6
我将非常感谢在解决此问题方面能得到的任何帮助。
TotalCost*
变量的定义在if块中。如果这些块不运行(条件不满足),那么这些变量将不会被定义。但是您有一个无条件的代码块,您希望在其中定义所有这些TotalCost*
变量。因此出现了错误。要修复,请无条件地定义这些变量&;将它们初始化为一些合理的默认值相关问题 更多 >
编程相关推荐