因此,我正在尝试建立一种方法,使人们可以按照以下规则输入他们想要的标志的方式。
所有标志的收费最低为$ 35.00。
前五个字母或数字包含在最低费用中;每增加一个字符,您需要支付4美元的费用。
如果标牌是橡木制成的,加$ 20.00。松树不收费。
最低收费中包含黑色或白色字符;金叶刻字需要额外收取15美元的费用。
因此,如果某人要获得8个带有橡木标志和金色字母的字符,总价应为$ 82,但是我的代码似乎只处理第一个if语句,而我只提出了$ 47,而我能解决的唯一方法是如果我将颜色词改为使用数字而不是实际的词。我想知道是否有办法仍然使用这些单词而不是用数字代替
collection.AddScoped<IEncryptedStringSerializer, EncryptedStringSerializer>();
//then later...
BsonSerializer.RegisterSerializer<EncryptedString>(sp.GetService<IEncryptedStringSerializer>());
# Declare and initialize variables here.
Charge = 35.00
Black = 0.00
White = 0.00
Gold = 15.00
Pine = 0.00
Oak = 20.00
Characters = 0.00
Color = 0.00
Wood = 0.00
numChars = int(input("How many characters would you like on your sign? :"))
color = input("What color would you like your words on your sign to be? Black, White, or Gold :")
woodType = input("What type of wood would you like your sign to be? Pine or Oak :")
# Write assignment and if statements here as appropriate.
if numChars > 5:
Characters = (numChars - 5) * 4.00
if color == Gold:
Color = 15.00
if woodType == Oak:
Wood = 20.00
print("The charge for this sign is $" + str(Charge + Characters + Color + Wood))
答案 0 :(得分:0)
在您的代码中,将Gold
替换为"Gold"
,将Oak
替换为"Oak"
。
您看到的问题是,您正在检查color
和woodType
是否等于Gold
和Oak
变量,但是您要检查它们是否等于这些字符串,因此您需要将它们放在引号内。