質問編集履歴
1
誤字
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
クラスを用いたpythonプログラム
|
body
CHANGED
@@ -1,35 +1,3 @@
|
|
1
|
-
### 前提・実現したいこと
|
2
|
-
```ここに言語を入力
|
3
|
-
#!/usr/bin/python3
|
4
|
-
# -*- coding: euc-jp -*-
|
5
|
-
class xy_coord:
|
6
|
-
def __init__(self, x, y): # コンストラクタ
|
7
|
-
self.x = x
|
8
|
-
self.y = y
|
9
|
-
def vec_add(self, v): # メソッドの定義
|
10
|
-
self.x += v.x self.y += v.y
|
11
|
-
def midpoint(self, v): self.vec_add(v)
|
12
|
-
self.x /= 2 self.y /= 2
|
13
|
-
a = xy_coord(0.3, 0.8)
|
14
|
-
print(a.x, a.y)
|
15
|
-
b = xy_coord(0.1, 0.2) a.midpoint(b) # メソッドの呼び出し print(a.x, a.y)
|
16
|
-
```
|
17
|
-
上記からxy_coordクラスの定義「だけ」を抜き出し、それに対して以下の変更を行いたい。
|
18
|
-
|
1
|
+
質問の仕方が下手くそでした。申し訳ありません。
|
19
|
-
* copyメソッドを追加。引数をとらず、自分と同じx· y座標を持つxy_coordク
|
20
|
-
ラスのインスタンスを新たに作って返す。自分の座標は変わってはいけない
|
21
|
-
* gen_midpointメソッドを追加。引数として他のxy_coordクラスのインスタン
|
22
|
-
ス1つを取り、自分と引数の点との中原となるxy_coordクラスのインスタンスを
|
23
|
-
新たに作って返す。自分の座標は変わってはいけない。 また、引数として渡した
|
24
|
-
xy_coordクラスのインスタンスの座標も変わってはいけない。
|
25
|
-
|
26
|
-
copyメソッドとmidpointメソッドを使って作ること
|
27
|
-
次に、クラス定義の後に以下の4行を追加し、
|
28
|
-
a = xy_coord(0.4, 0.7)
|
29
|
-
b = xy_coord(0.8, 0.1)
|
30
|
-
c = a.gen_midpoint(b)
|
31
|
-
print(a.x, а.у, с.х, с.у)
|
32
|
-
|
33
|
-
|
2
|
+
どう質問したらいいかわからなかったのでやりたいことをそのまま書いてしまいました。
|
34
|
-
動小数点演算の誤差に起因する微細な違いがあってもよい。
|
35
|
-
|
3
|
+
理解したいなと思ったので説明多めだとありがたいですと書いたのですが不快になられた方申し訳ございません。
|