我是Python的新手,我即将到来的实验室要求我为平面上的对象(圆圈)的碰撞测试编写代码。对于两个圆圈,我提示用户输入x和y坐标的值以及两者的半径。目前,我已经设置了它,以便如果用户忽略为三个输入中的任何一个输入值,它将使用while循环返回一条错误消息。这工作正常。Python中嵌套while循环的两个条件?
但是,我也想设置它,使得半径不能小于或等于零。我使用了一个嵌套的while循环。这是我的代码:
while c_1_x=="" or c_1_y=="" or c_1_r=="":
print "Error: please enter a value for each field. If the value is 0, type 0."
c_1_x=raw_input("Enter the x coordinate of CIRCLE ONE center:")
c_1_y=raw_input("Enter the y coordinate of CIRCLE ONE center:")
c_1_r=raw_input("Enter the radius of CIRCLE ONE:")
while int(c_1_r<=0):
print "Error: radius of circle must be greater than zero."
c_1_r=raw_input("Enter the radius of CIRCLE ONE:")
外环已满足后,我希望它分析内循环。如果半径的值是< = 0,我希望它返回一条错误消息。但是,当我运行它时,即使在输入值后(特别是半径值< = 0),它也会继续执行下一步。我不希望它继续下一步,直到符合BOTH标准。我怎样才能做到这一点?
非常感谢!我很感激!
变化括号'而INT(c_1_r)<= 0:'! – schwobaseggl
谢谢你的回答!虽然我更喜欢Martijn的方法,但这确实做了我想要的! –