teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2017/04/15 05:11

投稿

退会済みユーザー
answer CHANGED
@@ -35,4 +35,25 @@
35
35
  value = int(input("Integer, please [q to quit]:"))
36
36
  ```
37
37
 
38
- しかし今回はqという文字がループを抜ける条件である為、直接int変換してしまうとqを入力した時にエラーが起きてしまうためこの方法が使えないわけです
38
+ しかし今回はqという文字がループを抜ける条件である為、直接int変換してしまうとqを入力した時にエラーが起きてしまうためこの方法が使えないわけです
39
+
40
+ 追記について
41
+ int関数を使っているのは、何故かと言うとcan110さんの回答にあるように、inputからは文字列が返されるからです
42
+ すなわち
43
+
44
+ ```python
45
+ value=10 #数値 コンピューターで計算可能 型で言うとint型
46
+ value2="10" #数字 コンピューターで計算不可能 型で言うとstr型
47
+
48
+ print(value+int(value2))
49
+ ```
50
+ value2の方で返されている扱いになっています
51
+ 数字と数値は見た目は同じですが、
52
+ コメントにもあるように、コンピューターは数値でしか計算する事が出来ません
53
+ 試しにint変換を外してみてください
54
+ エラーが起きるはずです
55
+
56
+ そこでint変換を使う事で、計算不可能な数字から計算可能な数値に変えてやる事で
57
+ number*numberという計算を可能にしているわけです
58
+
59
+ 型変換の詳細については32ページから40ページを参照にしてください

1

追加

2017/04/15 05:11

投稿

退会済みユーザー
answer CHANGED
@@ -27,6 +27,7 @@
27
27
  ```
28
28
 
29
29
  代入をする事でint変換を3つも書くことなく済むわけです
30
+ ただこれに関しては好みの問題なのかなと
30
31
 
31
32
  また数値しか使わない前提であれば、inputを直接int変換してやる方法もあります
32
33