while True:
value_1 = raw_input (" Please Enter the price in total cents or type 'done' to exit: ")
if value_1 == "done" :
print " Thank you,Good-Bye!"
break
else:
value_1 = int(value_1)
if value_1 % 5 == 0:
continue
else:
print "\n Please Re-enter the Price in multiples of 5, Thank you!"
if value_1 % 100 == 2 :
print "x"
检查屏幕截图enter image description here
如果我输入5的倍数
它应该继续运行
但它又回到了顶峰
或者说如果我输入200,它应该打印x
但它无所事事
它再次提示用户输入
答案 0 :(得分:0)
所以,正如你可能已经发现的那样,"继续"命令不会让你的代码继续下一步,而是将它带回到循环的开始。因此,如果您输入一个可被5整除的数字,您的代码会将您带回循环的开头并且不会执行第二次检查。
第二个问题是,如果我理解你想要脚本打印" x"如果输入200,那是第二次检查
if value_1 % 100 == 2 :
检查数字的剩余部分是否除以100是2.并且,在此检查之前,您检查了数字是否可被5整除,您将永远无法打印程序" x" 。你想要的是
if value_1 / 100 == 2
另外,要规避"继续"问题,只需嵌套这样的两个检查
if value_1 % 5 == 0:
if value_1 / 100 == 2 :
print "x"
else:
print "\n Please Re-enter the Price in multiples of 5, Thank you!"
有了这个,如果你输入5的倍数,它会带你回到提示,只有你输入200,它才会打印" x"
答案 1 :(得分:0)
修改代码如下
while True:
value_1 = raw_input (" Please Enter the price in total cents or type 'done' to exit: ")
if value_1 == "done" :
print " Thank you,Good-Bye!"
break
else:
value_1 = int(value_1)
if value_1 % 5 != 0:
print "\n Please Re-enter the Price in multiples of 5, Thank you!"
continue
if value_1 / 100 == 2 :
print "x"