我对Python完全陌生,我正在通过一门课程在线学习它,并在练习中卡住了。我不能找出问题在所有,我觉得我的解决方案的练习是好的,但每当我选择的选项添加奶酪到我的“S”比萨饼,它不添加它在最终的价格,即使我已经写在我的代码,任何人都可以解释我什么是我的解决方案的问题?
我不知道我的解释是否正确,但我添加了一个屏幕截图,以使其更容易理解。
任何帮助都深表感谢;-;我是一个新手,我相信这将是很容易的专业人士解释这样一个简单的练习的问题,半。我想不出这个问题。
这是我试着把奶酪加到S披萨上时得到的结果,其他尺寸的披萨效果都很好,我一点也不明白是什么问题。
终端:-
Welcome to Python Pizza Deliveries!
What size pizza do you want? S, M, or L *S*
Do you want pepperoni? Y or N *N*
Do you want extra cheese? Y or N *Y*
Your final bill is: $15.
我已经附加图像,以便其更容易为你们理解。
screenshot
代码如下:
print("Welcome to Python Pizza Deliveries!")
size = input("What size pizza do you want? S, M, or L ")
add_pepperoni = input("Do you want pepperoni? Y or N ")
extra_cheese = input("Do you want extra cheese? Y or N ")
price = 0
if size == "L":
price = 25
if add_pepperoni == "Y":
price += 3
if extra_cheese == "Y":
price += 1
if size == "M":
price = 20
if add_pepperoni == "Y":
price += 3
if extra_cheese == "Y":
price += 1
if size == "S":
price = 15
if add_pepperoni == "Y":
price += 2
if extra_cheese == "Y":
price += 1
print(f"Your final bill is: ${price}.")
4条答案
按热度按时间uemypmqf1#
有了这么多嵌套的
if
语句,您一定会遇到这种问题。这里有一个稍微更可扩展的解决方案:lbsnaicq2#
看看代码的逻辑,我可以说,只有在已经有意大利辣香肠的情况下,才可以在比萨饼上添加奶酪。
不像是:
请注意,它可能不是解决这个问题的更好的设计,但作为初学者,我们必须从某个地方开始并改进:-)
祝你有一个愉快的编码之旅,并发现算法逻辑!
ejk8hzay3#
您面临的问题是,用于添加cheese的
if
语句嵌套在用于添加pepperoni的if
语句中。这意味着只有在您还选择添加意大利辣香肠时,才会执行添加奶酪的操作。您可以通过取消cheese和pepperoni的if
语句的嵌套来纠正这一点,以便始终执行这两个语句。2vuwiymt4#
奶酪的if条件在意大利辣香肠的if条件之下。由于您选择不吃意大利辣香肠,因此奶酪上的if条件永远不会触发。只需将if条件移一个选项卡