可分割性问题
Divisibility issue
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
但它什么也没做
再次提示用户输入
因此,正如您可能已经发现的那样,"continue" 命令不会让您的代码继续下一步,而是将其带回到循环的开始。因此,如果您输入一个可被 5 整除的数字,您的代码会将您带回到循环的开始并且不执行第二次检查。
第二个问题是,如果我理解正确的话,如果你输入200,你想让脚本打印"x",那么第二个检查
if value_1 % 100 == 2 :
检查数字除以 100 的余数是否为 2。并且,由于在此检查之前,您检查了数字是否可被 5 整除,因此您永远不会让程序打印 "x"。你要的是
if value_1 / 100 == 2
此外,为了避免 "continue" 问题,只需像这样嵌套两个检查
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"
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
但它什么也没做
再次提示用户输入
因此,正如您可能已经发现的那样,"continue" 命令不会让您的代码继续下一步,而是将其带回到循环的开始。因此,如果您输入一个可被 5 整除的数字,您的代码会将您带回到循环的开始并且不执行第二次检查。
第二个问题是,如果我理解正确的话,如果你输入200,你想让脚本打印"x",那么第二个检查
if value_1 % 100 == 2 :
检查数字除以 100 的余数是否为 2。并且,由于在此检查之前,您检查了数字是否可被 5 整除,因此您永远不会让程序打印 "x"。你要的是
if value_1 / 100 == 2
此外,为了避免 "continue" 问题,只需像这样嵌套两个检查
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"