質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

1096閲覧

Pythonのrange関数を使用した計算がしたいです

syukap

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/10 08:54

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
初めて質問になりますので不足部分があるかもしれませんがご理解ください。
Pythonでrangeやカウント変数の勉強をしているのですが、1×2×3×~99×100までのプログラムの計算がうまくいきません。
合計:???を出したいです。

発生している問題・エラーメッセージ

合計の答えがあっていない。

該当のソースコード

Python

1 2total=0 3for i in range (100): 4 total=total+(????) 5print("合計:"str(total))

(????)の部分がわかりません。

試したこと

Python

1total=total+(1*i)

補足情報(FW/ツールのバージョンなど)

Python3.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

いろいろ間違っています

1×2×3×~99×100

でそもそもいいのでしょうかとんでもなくでかい値
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
になってますが。カウントの練習とのことであれば
1⁺2⁺3⁺99⁺100=5050
を求めるのではないでしょうか。

(1*i)

1を掛けても意味ないです i と同じなので
また range(n) は 0から(n-1)までの値となるので 1から100までならば range(1, 101)とすることが必要です

Python

1print("合計:"str(total))

これで例示されておりますがこれではエラーになります ⁺ が必要ですね。

掛け算の問題ならばtotal=0もおかしいですね

Python

1total=1 2for i in range (1, 101): 3 total=total*i 4print("合計:" + str(total))

でよいかと思います ただ total=totali のところは total=i とした方がスマートです

恐らくは足し算かと思いますがそうであれば

Python

1total=1 2for i in range (1, 101): 3 total=total⁺i 4print("合計:" + str(total))

です。

投稿2020/07/10 10:07

aokikenichi

総合スコア2240

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syukap

2020/07/10 11:33

回答ありがとうございます。 足し算は実行することができ、そのプログラムを見ながら掛け算に取り組んでいた際の悩みでした。 totalは1出ないとダメということと、(1,101)の意味も理解できました。 実際に実行でき答えも9332621544~と合っていました。 プログラミングを始めたばかりで悩んでいたので助かりました! ありがとうございました。
guest

0

いきなり 100 でためすのではなく、 1 * 2 * 3 とか 1 * 2 *3 * 4 が上手くできるかを確認してから、
1 * 2 ... * 100 にするとよいです。

つぎのコードを研究してみてください。

p.py

python3

1total = 1 2from_num = 1 3to_num = 4 4for i in range (from_num, to_num + 1): 5 total *= i 6print(f"合計: {total}")

参考情報:

  • Pythonのf文字列(フォーマット済み文字列リテラル)の使い方

https://note.nkmk.me/python-f-strings/

投稿2020/07/10 22:30

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

掛けるなら+ではダメなんでは

投稿2020/07/10 08:57

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

syukap

2020/07/10 09:03

コメントありがとうございます。 total=0にしているので+を掛けるに変えると全て0になってしまいます。 引くか割るかということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問