私はPythonで値のモジュラスを実行しようとしていますが、私の知る限り、モジュラスを文字列フォーマット定数として解釈しているのでエラーが発生します。私の最初の推測は、これをキャストすることですが、ハングします。Pythonモジュラス文字列フォーマットエラーを返します
val = pow(a,n,p)
val = y1*val
val = val % p
2つのコード行がこの質問に対応していますか。今すぐ実行すると、次のようになります。 TypeError:文字列書式中にすべての引数が変換されない 2行目。
valを整数にラップしてキャストすると、計算に時間がかかります。
私はあまりにもPythonに熟練していない、私の推測私は何かシンプルが欠けているが、何ですか?
what's 'y1'?それが文字列であると仮定すると、 'val = y1 * val'も文字列を生成します。デバッグのために各ステップの後に 'repr(val)'を表示すると役に立つでしょう。 – geoffspear
2行目にエラーが発生していますか? 'y1'が文字列であれば、3行目で完璧な意味を持ちます(最後の行で' val'も文字列になります)。 –
3つの引数を持つpow関数は何ですか?また、これらの議論がどこから来たのかについて、より多くの情報を提供できますか? valはすでに文字列ではなく数字でなければならないので、私は上流に行く何か魚があると推測しています。 –