Python相同语法此前可正常运行现报SyntaxError错误原因咨询
错误原因
else语法使用错误:Python 中else是条件分支的收尾语句,后面不能附加任何判断条件,如果需要继续判断必须使用elif关键字。你代码里第11行else size == L or l:、后续的else size == M or m or L or l:都违反了这个语法规则,这是触发语法报错的直接原因。- 字符串比较逻辑错误:你代码里的
S、s、M、m、Y、y都没有加引号,会被Python识别为未定义的变量而非你要匹配的输入字符串;同时size == S or s的写法逻辑完全错误,Python会将其拆分为(size == S) or (s),只要s对应的布尔值为真,整个条件就会永远成立,根本不会执行你想要的“size等于S或者等于s”的判断。
修正后的代码
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 ") pizza = 0 # 计算披萨基础价格 if size in ('S', 's'): pizza += 15 elif size in ('M', 'm'): pizza += 20 elif size in ('L', 'l'): pizza += 25 # 计算 pepperoni 附加价格 if add_pepperoni in ('Y', 'y'): if size in ('S', 's'): pizza += 2 else: pizza += 3 # 计算额外芝士附加价格 if extra_cheese in ('Y', 'y'): pizza += 1 print(f"Your final bill is: ${pizza}.")
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

