<p>我假设您的代码中还有一些其他问题,格式与您发布的相同,并且您的脚本似乎没有输出if语句中提供的答案</p>
<p>发生这种情况的原因是,在有效答案的情况下,您指定了<code>sandChoice = str(sandChoice)</code>,从而将其转换为<strong>字符串。但是,在if语句中,您将sandChoice与<strong>整数进行比较</p>
<p>记住<code>'1'</code>不等于<code>1</code></p>
<p>要解决这个问题,可以设置<code>sandChoice = int(sandChoice)</code>或与if语句中的字符串进行比较,如:<code>if (sandChoice == '1'):</code></p>
<p>在下面找到您发布的全部代码的工作版本</p>
<pre><code>order = ("**** YOUR ORDER INCLUDES \n ")
totalCost = 0.00
comboStatus = 0
while True:
sandChoice = input("Select your sandwich! Please enter 1, 2, or 3.")
if sandChoice not in ('1', '2', '3'):
print("Your response is invalid. Try again.")
else:
sandChoice = int(sandChoice)
break
if (sandChoice == 1):
print("You chose Chicken!")
totalCost += 5.25
print("Your total is now $" + str(totalCost))
order += ("CHICKEN SANDWICH \n")
comboStatus += 1
if (sandChoice == 2):
print("You chose Tofu!")
totalCost += 5.75
print("Your total is now $" + str(totalCost))
order += ("TOFU SANDWICH \n")
comboStatus += 1
if (sandChoice == 3):
print("You chose Steak!")
totalCost += 6.25
print("Your total is now $" + str(totalCost,2))
order += ("STEAK SANDWICH \n")
comboStatus += 1
print('The total cost of your order is $' + str(totalCost) + '. \n')
</code></pre>