おしゃべり掲示板!みんなの話題共有サイト

ズーム -1元のサイズ+1

ヒントみんなの疑問、質問、相談、体験談、意見、情報が誰かの役に立っています。

先頭から

[虎の穴っす]変数ですっす(^^;;

メール転送可
記事 168 by
まずは、変数というものを勉強しましょう

>>>a = 1
とします、今までと違って
>>>
と表示されましたね(^^;
>>>print a
では
1
と表示されたと思います。

続けて
>>>a = a + 2
>>>print a
3
となったはず

ここで a というのが、変数といって、データを格納できる箱みたいなものです。
今回は、この変数(箱)に

a = 1
最初1を入れる(代入)

a = a + 2
箱に、箱の中身(現在1)と 2 を足したものを代入
結果、変数の中には、3 が入っている。
よって変数を表示すると 3 が表示される。

お題:(^^;
1〜10 までの数字を全部足すといくらになりますか?
To:Lufa

返信コメントを書き込む


コピー保険に加入(本文コピー)  写真を貼り付ける 埋め込む
カメラ 写真(画像)貼付の設定

笑 [返信内容の確認]をするときに、あなたが撮影した写真や画像を指定します。投稿すると安全処理されてから投稿欄に表示されます。

設定を閉じる

YouTube公式チャンネル 動画貼付の設定
URL:

笑 YouTube の動画枠直下にある[共有]を押すと出るURLか、再生ページのURLを以下のように入力します。
https://youtu.be/*****

貼り付けてよい動画?

笑 企業等の公式チャンネルの動画や個人が撮影して公開中の動画を掲示板等に貼り付けて共有リンクするのは著作権上合法だそうです。

貼り付け方は?

設定を閉じる

2002年4月25日(木) 8時37分 1件目のコメント
コメント 174 by まっちゃん
>>168
Lufaさんへ

55ですね?
次々に「a=」の数値が変わる。
最初は「a=1」それに2を足した後は「a=3」となるんですね?

いやいや・・・順調で良かった・・・。(^-^)
この投稿に返信
2002年4月25日(木) 16時8分違反通報親記事 2件目

2.for文

メール転送可
コメント 175 by Lufa
>>174 まっちゃんさんへ

1〜100 まで足してみましょう

手動でするのは面倒くさいので
自動で計算させます。

>>>sum = 0;
>>>for i in range(1, 101):
...  sum += i;
...
>>>print sum;

上記のように記述してください。
ポイントは、for の文を入力したら
>>> ではなく ... になると思います。
そこで上記のように、タブキーを押して、スペースを空けることです。
これをインデントといいます。
その下の行
...
は Enter キーだけを押せばよいです

では、解説

まず、sum という合計用の変数を作成し、0 で初期化しておきます。

for i in range(1, 101):

は、1 から 100 までぐるぐる回るよ
ということです。このとき 変数i が1〜100 まで変化していきます。

sum += i;

は sum = sum + i; と一緒です。

ポイントは、このインデント(タブキーを押してスペースを空けること)です。

Python の特徴として、インデントで、for の有効範囲が決まります。

for i in range(1, 101):
  sum += i;
  print i;
print sum;

for i in range(1, 101):
  sum += i;
print i;
print sum;

の違いを試してみるとわかりやすいかな
この投稿に返信
2002年4月25日(木) 22時37分違反通報親記事 3件目
コメント 176 by まっちゃん
>>175
Lufaさんへ

( ̄ω ̄;)エートォ...私が打ち間違えているのか・・・
エラーばかり出てしまう・・・
できない・・・(||| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ー ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄;)
タブキーを押しながらスペースキーを押すんだと間違った解釈を
最初にしてしまったんだけど・・・タブキーだけでいいのね。(^-^)
それを知らなかった時は、ただスペースキーでやってた・・・

ちょっと難しくてアワワ ヽ(□ ̄ヽ))...((ノ ̄□)ノ アワワって
なっちゃったけど・・・。( ̄▽ ̄;)
もう一回やってみます♪
この投稿に返信
2002年4月26日(金) 11時58分違反通報親記事 4件目
コメント 177 by Lufa
>>176 まっちゃんさんへ

インデントは、タブキー1個でもいいし
スペースキーでスペースキーを空けていくのでもいいのですが、同じ文字でないとだめです。

スペースキーを使用したときは、スペースキーで、タブキーの場合はタブキーで統一しないと駄目です。

ちなみ、一点、嘘を書いておりまして(^^;

別のレスも見てください(^^;;;
この投稿に返信
2002年4月27日(土) 9時19分違反通報親記事 5件目
コメント 178 by Lufa
>>175

嘘を書いておりました(^^;;

for i in range(1, 101):
  sum += i;
  print i;
print sum;

このように記述しておりましたが
Python の作法的には行末のセミコロンを記述しない模様(^^;

どうも、他の言語の癖が抜けて無くて(^^;
一応、セミコロン付けても通るんですが、付けなくていい模様。
あくまでも、インデントでの区別が Python の特徴ですね。

よって

for i in range(1, 101):
  sum += i
  print i
print sum

これが、正解


ちなみに、

for i in range(10):
  print i

だと、0 〜 9 が表示されます。
PC の世界では、0から始まるというのが多いです(^^;

ちなみに、この場合の range は 0 から 10 の前までの範囲のリストを返すです。

range(1, 101) は 1(開始) から 101 の前の 100 までのリストを返すということでしょうか(^^;
この投稿に返信
2002年4月27日(土) 9時26分違反通報親記事 6件目
コメント 179 by Lufa
>>168

>>>a = 9
>>>b = 2
>>>c = a / b
>>>d = c / 3.0

としたとき、a, b, c, d の中身は何になるかを確認して見ましょう。
この投稿に返信
2002年4月27日(土) 9時37分違反通報親記事 7件目
コメント 180 by まっちゃん
>>178
Lufaさんへ

File "<stdin>", line 4
print sum
^
SyntaxError: invalid syntax
というエラーが・・・タイプミス?と思って、もう一度
やってみたけど、やっぱりエラー・・・。
うぅ〜ん・・・謎。
この投稿に返信
2002年4月27日(土) 9時39分違反通報親記事 8件目
コメント 182 by Lufa
>>180 まっちゃんさんへ

え〜と(^^;;

>>>sum = 0
>>>for i in range(1, 10):
...  sum += i
...  print i
...
1
2
3
4
5
6
7
8
9
>>>print sum
45

このようになると大丈夫かな
ポイントは、sum += i の下の行でEnter キーを押して、for の有効範囲から抜けること(^^;

ちょっとわかりずらいかな、この辺は、このインタプリターという環境の場合に起きる問題(^^;;

別のスレ、プログラムソースを見てください。こちらのように、エディタで記述する場合は、このような所は

sum = 0
for i in range(1, 10):
  sum += i
  print i
print sum

これで、通ります(^^;
この投稿に返信
2002年4月27日(土) 10時4分違反通報親記事 9件目
コメント 183 by Lufa
>>182

インタプリターというのは
一行単位で、処理が実行されていくものです。
この場合
sum = 0
とした場合、すぐに変数 sum が作成され、0 で初期化されます。
次に、for i in range(1, 10):
で 1〜10 の範囲でループし始めるのですが、その中身が無いので、まだ待っています。このとき >>> という表示から ... という表示に変わります。
この表示が for ループの中に入ったのだというのをあらわしています。
sum += i
print i
というのを入力してもまだ処理は走りません。
つぎに ... で enter キーだけを入力すると、ようやく for ループ全体の処理が走り始めます
そこで 1〜9 までは表示されるのと、内部的に sum に合計が計算されています。
最後に、print sum とすることによって、sum の中身が表示されるということになります。

これに対し、先にソースを書いておいて一括でPython に流して、処理をまとめて処理させるという方法もあります。

簡単な動作のチェックをする時は、上記の方が簡単だし、ある程度の処理を何回でも使いまわす必要性がある場合は後者のほうがよいでしょう。
この投稿に返信
2002年4月27日(土) 10時12分違反通報親記事 10件目
コメント 193 by ぶんちゃん
Lufaさんへ

Pythonがどういう言語なのかは、わからないのですが、
for って {} をつかってもつかわなくてもいいやつですか?
もし、使っても動作するのであれば、初心者さんは、{}があった方が
forで回すのがどこからどこまでかがわかりやすくて
いいような気がしますよ(*^-^*)

もし{}で囲めないのであればしょうがないけど・・・・
もちろんifの場合も同様のことがいえますね。
この投稿に返信
2002年4月28日(日) 1時36分違反通報親記事 11件目
コメント 194 by Lufa
>>193 ぶんちゃんさんへ

Python の特徴は、インデントで有効範囲が決まるというのがあります。
これは、見やすいソースを書くというのが前提にありまして(^^;

もちろん、他言語でもインデントを使用し見やすいように記述するのですが、しなくてもよい。(^^;
そうすると、統一性がない(^^;;

私は、初めての人は、このインデントの習慣を身に着けるべきだと思うし

括弧で有効範囲だろうが、インデントで有効範囲だろうが、この辺は慣れの問題

確かに、他言語をやってた人には違和感を感じるものですが、そこには、その言語のポリシーといったものが流れているのです(^^;
色々な言語をやってみるのもいいことですよ(^^;
この投稿に返信
2002年4月28日(日) 1時47分違反通報親記事 12件目
コメント 195 by ぶんちゃん
Lufaさんへ

なんやインデントがついてたのか〜(^^ゞ
上から全部よくみたらついてたね・・・

sum = 0
for i in range(1, 10):
  sum += i
  print i
print sum

これだけみたらなにもついてなかったから、初心者さんは
範囲がわからんやろな〜っておもった笑
それにしても、無駄な文字をはぶけて、見やすい言語ですね。
この投稿に返信
2002年4月28日(日) 2時28分違反通報親記事 13件目
コメント 200 by えと
>>179 Lufaさん

Lufaさんのお帰り。わーい♪
そして、「書き込んでないじゃん、私」
ボーっとしていました(^^ゞ

c=4.5を期待したら、4でびっくり。切り捨て?
次にd=1.33333333333
そうか。a、bも9.0、2.0にしたら
c=4.5に。
なんか、満足(^。^)

for の有効範囲とかも、たぶん理解したと思いますよ。
感覚的に納得できる文でした。
この投稿に返信
2002年5月15日(水) 10時30分違反通報親記事 14件目

14.数値型

メール転送可
コメント 203 by Lufa
>>200 えとさん

Python には、数値型として4つの形式があります。

1. integer 整数型
2. long integer 長整数型
3. floating point numbers 浮動小数点数
4. imaginary numbers 虚数

ちなみに、integer 同士を計算すると結果は integer に丸められます。よって結果を浮動少数点で欲しい場合は、片方を浮動小数点にすると、一方の整数型も、浮動小数点にキャスト(変換)され、結果として浮動小数点数の結果を得ることが出来るのです。(^^;

ちなみに、python の integer は 32bit 幅です。
この投稿に返信
2002年5月15日(水) 16時19分違反通報親記事 15件目