
現在プログラミング初心者の高校生です。
学校の授業でPythonを使って解く問題です。
a=int(input())
b=0
for a in range(1,a+1):
b = b+a
print(b)
これを実行して数字を入力するとその数字までの総和が出てくると思いますがこれを改良して入力した数までの偶数のみの総和を求めるプログラムの作り方を教えて下さい。
理由も一緒におねがいします。
おねがいします。
また将来はゲームクリエイターになりたいと思っているのでこのプログラミング言語は覚えておいたほうが良いというものも教えて下さい!
No.5ベストアンサー
- 回答日時:
range(1,a+1) → range(2,a+1, 2)
とするだけだけど、range型 は python の
基本のビルトイン型だから使い方をよく
習熟した方が良いですよ。
それと、初心者は多少冗長に書いた方が勉強に
なるだろうけど
print(sum(range(2, a+1, 2)))
の1行でもいい。
range はシーケンス型の一種。
sumはシーケンスの個々の要素の総和をとる関数です。
この変に習熟するととんでもなく短くかけるのが
pythonのおもろいところです。
やり過ぎは毒だけどね。
No.3
- 回答日時:
> 将来はゲームクリエイターになりたい
なら、勉強するべきは「言語」ではありません。
「やりたいこと」をどうやればいいかの「やり方」でしょう。
既にある「やり方」を覚える、というのもありますが、それ以上に「自分で考える」「既にあるやり方をうまく組合せる」ことが重要です。
現在のプログラムを応用するなら、次の2通りが考えられます。
・ループはそのままにして、偶数のときだけ足す/奇数のときには足さない、という条件分岐で対応する
・そもそも偶数だけのループになるようにする。
また、求めるのは「階差数列の総和」だと考えられるので、「階差数列の総和の公式」を使う方法もあります。
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のプログラミングですが、
-
C言語の整数の判別
-
Userformの入力順序をタブオー...
-
入力する数字のサイズ制限について
-
コンソールアプリの入力時に改...
-
正負を反転させて出力するプロ...
-
fgetsとループ処理
-
Javaについて質問です。 勉強し...
-
コンボボックスで日本語入力を...
-
C言語でタイミングを合わせるゲ...
-
WindowsでEOF
-
Eclipseでコマンドラインを入力...
-
数字以外が入力されたらエラー...
-
ダメだ・・・分からない。while...
-
最早開始時間と最遅完了時刻を...
-
C言語 エラーの原因がわからな...
-
信頼区間の1.96や1.65ってどこ...
-
Enterキーを押されたら次の処理...
-
プログラムでの数字につく”f”の...
-
「Aに対するBの割合」と「Aに対...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
コマンドプロンプトからのEOFの...
-
4桁の数字以外を入力したらエラ...
-
Eclipseコンソール表示を、リセ...
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
cout関数を使っているのですが...
-
プログラミングの問題です 「金...
-
scanf関数について
-
Userformの入力順序をタブオー...
-
C言語でgetchar();が上手く使え...
-
プログラムの実行時に'<'でリダ...
-
C言語初心者です。ファイルの読...
-
scanf が無視されます
-
実行結果の順番がおかしいんで...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報