-1
私は学校プロジェクトのために岩、紙、はさみロボットを書いています。私はタイトル(TypeError: randint() takes 3 positional arguments but 4 were given
)にエラーが表示され続けているのですが、その理由はわかりません。私のコードは以下の通りです。TypeError:randint()は3つの位置引数をとりますが、4つは与えられました
if userInput : 'rock'
choice = random.randint(1,2,3)
if choice == 1:
await client.send_message(message.channel, embed=RockEmbed)
elif choice == 2:
await client.send_message(message.channel, embed=PaperEmbed)
elif choice == 3:
await client.send_message(message.channel, embed=ScissorsEmbed)
if userInput : 'scissors'
choice2 = random.randint(1,2,3)
if choice2 == 1:
await client.send_message(message.channel, embed=RockEmbed)
elif choice2 == 2:
await client.send_message(message.channel, embed=PaperEmbed)
elif choice2 == 3:
await client.send_message(message.channel, embed=ScissorsEmbed)
if userInput : 'paper'
choice3 = random.randint(1,2,3)
if choice3 == 1:
await client.send_message(message.channel, embed=RockEmbed)
elif choice3 == 2:
await client.send_message(message.channel, embed=PaperEmbed)
elif choice3 == 3:
await client.send_message(message.channel, embed=ScissorsEmbed)
私は、私の構文が100%正しいですが、ないかなり確信して明らかに3つの引数ではなく、4である、random.randint(1,2,3)
を言いました。
'random.randint()'はメソッドの1つで、引数の1つとしてカウントされる 'self'引数を持つことに注意してください。 3つの引数を渡すと、合計で4になります。 [引数のドキュメント](https://docs.python.org/3/library/random.html#random.randint)を読んで、どの引数が受け入れられるかを確認してください。 –
その理由は、その品質フィルタです。あなたの回避策は評価されません。その多くのコードを投稿する必要はありませんでした。 'random.randint(1,2,3)'はすでにエラーを示しています。 –
私がリンクしているドキュメントは、関数が何をしているかについてかなり明確です。 3つの引数を渡すことはできません。 'random.randint(1,3)'を使うか 'random.choice([1、2、3])'を使う。 –