为什么即使选择了正确的选项,也会打印“else”语句?在
ch=0
print"Do you need Ice-Cream?"
ans=raw_input()
if ans=='y':
print"Pick a flavor"
ch=raw_input() # ch is a string
if ch=='1':
print"Vanilla"
if ch=='2':
print"Chocolate"
if ch=='3':
print"Strawberry"
if ch=='4':
print"Kiwi"
if ch=='5':
print"orange"
if ch=='6':
print"mango"
if ch=='7':
print"pineapple"
if ch=='8':
print"grapes"
print"You are done picking up a flavor, pay now"
if ans=='n':
print"Good, you can go!"
else:
print"wrong choice"
输出是打印“错误的选择”,即使选择了一个有效的选择。在
看起来你把你的
if
系列和if
-elifs
的系列混为一谈。在请注意:
不等于:
^{pr2}$如果},那么前者将调用
cond0
是{bar()
,而后者则不会。在前者中,它只是一个if
,后跟一个完全独立的if-else
。在把前者写成这样可能会有帮助:
因为if语句检查“y”和第二个if语句检查“n”是两个不同的。else只连接到带有“n”检查的第二个if语句。你想要最外面的陈述
你有两个条件不是一个。在
第一个条件检查}。在
ans
与{如果
ans
是'y'
,那么用户可以输入一个整数1-8,相应的字符串将被打印到控制台。然后处理进入第二个条件(#2)。在如果},那么用户就不会给出任何输入,并且处理移动到第二个条件(#2)。
ans
不是{第二个条件检查}。在
ans
与{如果},那么“好,你可以走了!”打印到控制台,处理继续跳过
ans
是{else
块。在如果
ans
不是'n'
(用户输入'y'
),则执行else
块,并将“错误选择”打印到控制台。你的逻辑设置是,除了
'n'
之外的任何输入最终都会打印出“错误的选择”。您需要从用户的初始输入中做出一个单独的决定。现在你的逻辑是两个。在使用
if elif else
构造。在相关问题 更多 >
编程相关推荐