我是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的方法,但這確實做了我想要的! –