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

質問編集履歴

3

試行錯誤の結果を入力した

2019/06/25 09:43

投稿

Beginnerman
Beginnerman

スコア19

title CHANGED
File without changes
body CHANGED
@@ -59,4 +59,40 @@
59
59
  -----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
60
60
  ```
61
61
  リストの要素から数字のみを取り出すためにjoin関数を使う必要があると思うのですが、enumerateを使用する場合は必要ないのでしょうか?
62
- 試行錯誤しましたが手詰まりなので力を貸してください。
62
+ 試行錯誤しましたが手詰まりなので力を貸してください。
63
+
64
+ 試行錯誤し、あとはリスト内の要素を数字だけ抜き出すのみなのですが以下のコードでprintする際にjoinを用いてもエラーが起きます。
65
+ ```
66
+ def main(n):
67
+ print(" ",end="")
68
+ for i in range(1,n+1):
69
+ print('%4d'%(i)," ",end="")
70
+
71
+
72
+ print('\n')
73
+
74
+ for j in range(1,n+2):
75
+ print('-----+',end="")
76
+
77
+ print('\n')
78
+
79
+ l = [[i * j for i in range(1,n+1)] for j in range(1,n+1)]
80
+ for z,number in enumerate(l,1):
81
+ print(z,'|',number)
82
+
83
+ for j in range(1,n+2):
84
+ print('-----+',end="")
85
+ ```
86
+ 出力
87
+ ```
88
+ 1 2 3 4 5
89
+
90
+ -----+-----+-----+-----+-----+-----+
91
+
92
+ 1 | [1, 2, 3, 4, 5]
93
+ 2 | [2, 4, 6, 8, 10]
94
+ 3 | [3, 6, 9, 12, 15]
95
+ 4 | [4, 8, 12, 16, 20]
96
+ 5 | [5, 10, 15, 20, 25]
97
+ -----+-----+-----+-----+-----+-----+
98
+ ```

2

誤ったコードを入力していたが修正した。

2019/06/25 09:43

投稿

Beginnerman
Beginnerman

スコア19

title CHANGED
File without changes
body CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  print('\n')
16
16
 
17
- l = [[i * j for i in range(1,n)] for j in range(1,n)]
17
+ l = [[x * y for x in range(1,n)] for y in range(1,n)]
18
18
  return l
19
19
 
20
20
  print(enumerate(''.join(main(5))))

1

誤ったコードを入力していた

2019/06/25 09:17

投稿

Beginnerman
Beginnerman

スコア19

title CHANGED
File without changes
body CHANGED
@@ -2,26 +2,25 @@
2
2
  以下コード
3
3
  ```
4
4
  def main(n):
5
- kuku = list()
6
- ku = list()
7
- print(" ",end="")
5
+ print(" ",end="")
8
6
  for i in range(1,n+1):
9
7
  print('%4d'%(i)," ",end="")
10
-
8
+
9
+
11
10
  print('\n')
12
11
 
13
12
  for j in range(1,n+2):
14
13
  print('-----+',end="")
15
14
 
16
- print("\n")
15
+ print('\n')
17
16
 
18
- for x in range(1,n+1):
17
+ l = [[i * j for i in range(1,n)] for j in range(1,n)]
19
- for y in range(1,n+1):
20
- ku.append('%4d'%(x*y))
21
- kuku.append( ku )
22
- return kuku
18
+ return l
23
19
 
24
- print( enumerate(''.join(main(5))) )
20
+ print(enumerate(''.join(main(5))))
21
+
22
+ for j in range(1,n+2):
23
+ print('-----+',end="")
25
24
  ```
26
25
  以下出力
27
26
  ```
@@ -29,7 +28,9 @@
29
28
 
30
29
  -----+-----+-----+-----+-----+-----+
31
30
 
32
- エラーメッセージ
31
+ Traceback (most recent call last):
32
+ print(enumerate(''.join(main(5))))
33
+ TypeError: sequence item 0: expected str instance, list found
33
34
  ```
34
35
  理想の出力は以下のようなものです
35
36
  ```