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

質問編集履歴

1

コードがコードとして反応していなかったため、その点修正。また、質問加筆修正

2021/11/18 07:20

投稿

Qiitahana
Qiitahana

スコア4

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  スクールの課題です。
3
3
  以下のクラスを定義しています。
4
-
4
+ ```ここに言語を入力 python
5
5
  class Person(object):
6
6
  def __init__(self, name, age, gender):
7
7
  self._name = name
@@ -39,14 +39,16 @@
39
39
 
40
40
  def get_friend(self):
41
41
  return self._friend
42
+ ```
42
43
 
44
+
43
45
  クラスの「外部で」、インスタンスの「名前」、「年齢」、友人がいる場合「友人」の属性をプリントする
44
46
  関数を定義する必要があります。
45
47
 
46
48
 
47
49
  ### 発生している問題・エラーメッセージ
48
50
  このように関数を書きました。
49
-
51
+ ```ここに言語を入力 python
50
52
  def print_friend_info(person):
51
53
  n = person.get_name()
52
54
  a = person.get_age()
@@ -56,7 +58,9 @@
56
58
  if fr:
57
59
  fr_is = fr._name
58
60
  print(f'Friends with {fr_is}')
61
+ ```
59
62
 
63
+
60
64
  しかし、「友人」を書き出すパートのみなぜか上手く認識されません。
61
65
  if fr: 以降が該当箇所なのですが、何か穴等ありますでしょうか?(カバーできていないパターン等)
62
66
  ### 該当のソースコード
@@ -67,18 +71,22 @@
67
71
 
68
72
  ### 試したこと
69
73
  こちらのコードも試しました。同じく、「友人」を書き出すパートのみ認識されません。
70
-
74
+ ```ここに言語を入力
71
75
  def print_friend_info(person):
72
76
  print(person._name)
73
77
  print(person._age)
74
78
  fr = person.get_friend()
75
79
  if fr:
76
- fr_is = fr._name
77
80
  print(f"Friends with {fr._name}")
81
+ ```
78
82
 
79
83
  微妙に違う文法で何通りか試してみましたが、どれも同じく「友人」を書き出すパートのみ駄目でした。
80
84
 
81
85
 
82
86
  ### 補足情報(FW/ツールのバージョンなど)
83
87
  バージョン: python3.9
84
- IDE: IDLE(Python3.9 64-bit)
88
+ IDE: IDLE(Python3.9 64-bit)
89
+
90
+ 関数はクラスとは独立しており、また上記のコード以外の呼び出しコードや枠組み等といったものは使用しておりません。
91
+ 自分の書いたprint_friend_info関数でカバーできていないシチュエーションがあれば教えてください。
92
+ (インプットは正しいという前提で)