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"
检查屏幕截图 在此处输入图像描述如果我输入 5 的数字倍数它应该继续运行但它又回到了顶部或者说如果我输入 200,它应该应该打印x
但它什么也没做它再次提示用户输入
因此,您可能已经发现,"continue"命令不会使您的代码继续下一步,而是将其带回循环的开始。因此,如果您输入一个可被 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">
修改代码如下
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"