入力エラーをキャッチしようとしています - 唯一の有効な入力は整数です。
非整数が入力された場合は、func の先頭に戻って再試行します。
def setItorator():
try:
iterationCap = int(raw_input("Please enter the number of nibbles you want to make: "))
print "You will make", iterationCap, "nibbles per file"
except ValueError:
print "You did not enter a valid integer, please try again"
setItorator()
return iterationCap
if __name__ == "__main__":
iterationCap = setItorator()
このメソッドは、最初の入力が有効な場合に機能し、無効な入力が行われた場合は関数の先頭に戻りますが、正しい有効な値をメイン関数に戻していないようです。sub func をチェックインして、正しい変数と正しい型 (int) を認識し、表示されるようにしましたが、エラーが発生しました。
UnboundLocalError: local variable 'iterationCap' referenced before assignment
最初の入力が有効な場合 (例: "10")、最初の入力が無効な場合 (例: "a" の後に "10") のみ、このエラーは表示されません。