メソッドの共通化を行いたいです。今コードに
def upload_one(request): id = request.POST.get('id', None) ans = 1+1; num = 3; ans = ans + num; ans = ans + 5; if ans == 10: find = True if find: print("OK") print(id) break else: print("ERROR") break else: print("ERROR") break def upload_two(request): id = request.POST.get('id', None) ans = 1+1; num = 3; ans = ans + num; ans = ans + 5; if ans == 10: find = True if find: print("HelloWorld") print(id) break else: print("NG") break else: print("XOXO") break return HttpResponseNotFound()
と書きました。
id = request.POST.get('id', None) ans = 1+1; num = 3; ans = ans + num; ans = ans + 5; if ans == 10: find = True if find:
の部分が2つのメソッドで共通なので、一つのメソッドでansの値をreturnし、その値を使って
if ans == 10: find = True if find:
の部分の処理を行いたいのですが、どうメソッドを共通化できますか?upload_one(request)もupload_two(request)も引数のrequestを受け取っていて、今まではupload_oneとupload_twoのURLを指定するだけでこれらのメソッドを呼び出せましたが、共通化したメソッドとこれらのメソッドをそのように書けば一回で呼び出せますか?
現時点で、このコード動かないと思うのですが...
それはなぜでしょうか?こちらでは動いています
インデントが崩れていますし、ループ外にbreak文がありますし、一つのif節に複数のelse節が与えられています。
『一つのメソッドでansの値をreturnし』とありますが、引数は何を想定されていますか?
引数はidです、id = request.POST.get('id', None)のidが中にはいればいいと思っています。
インデントを直しました
upload_twoに関して、NGが出力されることは100%ないですが、コードに省略があるのでしょうか?
はい、一部省略しています。この先追加していくのですが、それは今は関係ないことなので。
回答1件
あなたの回答
tips
プレビュー