私はPythonの初心者です。今後のラボでは、飛行機のオブジェクト(円)の衝突テストのコードを書く必要があります。 2つの円については、xとy座標の値と両方の半径を入力するようユーザーに促しています。現在、ユーザーが3つの入力のいずれかの値を入力するのを怠ると、whileループを使用してエラーメッセージが返されるように設定しています。それはうまく動作します。Pythonで入れ子になったwhileループの2つの条件はありますか?
しかし、半径をゼロ以下にできないように設定することも必要です。私は入れ子の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)。私は、両方の基準が満たされるまで、次のステップに進むことを望んでいません。これどうやってするの?
ありがとうございました!それは有り難いです!正の整数の
変更は 'カッコしばらくint型(c_1_r)<= 0:'! – schwobaseggl
ありがとうございました!私はマルティンの方法を好むが、これは私が望んだことをした! –