私は基本的にスロットマシンとして動作するツイッチボット用のpythonスクリプトを作っています。免責事項 - 私は完全にPythonには新しく、だから私を殺さないでください。文字列が整数かどうかをテストしようとすると、スクリプトがクラッシュする
スクリプトの開始時に、正しいコマンドが入力されたかどうかをチェックし、最初の引数が整数かどうかを確認し、十分なポイントがあるかどうかを確認するコードがあります。アイデアは彼らにギャンブルする金額を選択させることです。そのため、一度手を加えるとコストラインが変更されます。
if data.IsChatMessage():
if (data.GetParam(0).lower() == settings["command"]
and isinstance((int(data.GetParam(1).lower())), int)
and settings["costs"] <= Parent.GetPoints(data.User)):
チャットからの入力は、数字であっても常に文字列形式です。私はそれをint()でintに変換することができますが、何もない場合や、数値以外に何かがあると、スクリプト全体がクラッシュします。スクリプトをクラッシュさせないで、代わりに整数を入力する必要があることをユーザーに警告するにはどうすればよいですか?ありがとう!
を使用することができ、あなたは言葉で説明することができます(1).lower()))、int) 'はうまくいくでしょうか? –
クラッシュはどういう意味ですか?例外はありますか?それは何ですか? – kichik
整数変換コードを 'try ... except'ブロックにラップし、文字列が有効な整数を表していない場合に発生する' ValueError'例外をキャッチします。 [ここ](https://docs.python.org/3/tutorial/errors.html#handling-exceptions)を参照してください。 – user8153