Pythonの質問なのですが4桁以内の連続する3つの整数(1,2,3),(2,3,4)・・・(9996,9997,9998),(9997,9998,9999)の全ての連続する3つの整数の組み合わせの中で、直角三角形になる組み合わせを全て表示するプログラムを作成するにはどうすればよいですか?
直角三角形になる組み合わせの具体例を追記できますか?
(3.4.5)です。
付け足しなのですが私はまだ演算 代入 input print while ifまでしか習ってないのでこれらを使って求めたいです。
なるほど。3つの数字は辺の長さということだったのですね。
3つの整数だけだと何を指しているのかわからなかったので、質問欄に書いておいたほうがいいと思います。
申し訳ございません
「直角三角形になる組み合わせ」とは、ピタゴラス数のことでしょうか?
それとも、他のなにかでしょうか?
そのあたりをもう少し具体的に示していただければと思います。
また、kokingguiknftさん自身が組んだコードを提示して下さい。
漠然と「○○をしたいので、プログラム方法を教えてください」と言われても、丸投げと受け取られかねません。
すみません、ピタゴラス数とか難しいことはほんとに分からないんですが直角三角形の組み合わせです
…
for a in range(1,9998):
いんでんとif a*a+(a+1)*(a+1)==(a+2)*(a+2): print(a,a+1,a+2) これでできますか?
いいですね!
「if a*a+(a+1)*(a+1)==(a+2)*(a+2): print(a,a+1,a+2)」
「これでできますか?」
その答えは、kokingguiknftさん自身が目の前のPCに打ち込み、コードを走らせることによって得られます。
ためらわずにどんどん試してみましょう。
すみません、入れてみたんですがなんにも起こらないのですが
そこです!
「なにも起こらない」
とはどういうことでしょうか? 画面に何も表示されない? if文による分岐が思ったように動かない? 動かないとしたら、なぜそうなるのか考えてみましたか?
プログラムは「書いた通り」に動きます。思った通りに動かないのであれば、「思った通りに書いていない」のでしょう。何も起きないのであれば、何も起きないように書いているのです。コードとして打ち込んだことを、日本語に直して紙に書きだしてみるなんてことを私はよくやります。
kokingguiknftさんにも簡単にできることなので、ぜひ試してみてください。
また、誰かのアドバイスが欲しい場合は、kokingguiknftさんが作成したコードを省略無しですべて提示してみてくれると、回答する側としては回答しやすいです。
あの、ちなみにこのコード1日考えたんですけど全く分からなかったんですがどこが違うのでしょうか?
「このコード」をすべて省略無しで提示してください。そうして、
「このコードを走らせた結果、どのような画面表示を狙っていたのか?」
を提示してください。kokingguiknftさんは、一度も「コードを走らせた結果、こうなるはず」という狙いを提示しておりません。その為、何につまづいているのかがわからないのです。
もし、今までに見せてくれているものが全てならば、teratailの「質問する時のヒント」からの引用を読んでください。
/*** アドバイス ***/
あなたが期待した処理結果を書きましょう。
「自分はこういう結果になると思いました」「こういう表示になると思いました」「こういうエラーになると思いました」
そんな言葉と共に自分が予想した動作を記述しましょう。そうすれば、他のユーザーはあなたがどのように考えているのかを理解することができます。あなたが勘違いしている部分があれば、それを踏まえて回答をすることができます。
> Pythonなんかやってられっか こっちはそんな余裕ないっつーの
知らんがな