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

質問編集履歴

1

ソースコードを貼り直した

2021/09/13 03:35

投稿

unchan
unchan

スコア3

title CHANGED
File without changes
body CHANGED
@@ -1,73 +1,55 @@
1
1
  ### 前提・実現したいこと
2
- Pythonで、文字から2進数に変換してパリティを付与するというプログラムを作っているのですが
3
- 初歩的なことだと思うのですがエラーが出たので質問しました
2
+ Pythonで初歩的なことだと思うのですがエラーが出たので質問しました
4
3
  どなたかわかる方教えていただけないでしょうか
5
4
 
6
5
  ### 発生している問題・エラーメッセージ
7
6
 
8
7
  ```NameError: name 'tmp' is not defined
9
8
  ```NameError: name 'tmp' is not defined
10
-
11
9
  ### 該当のソースコード
12
-
13
- ```
14
10
  import numpy as np
15
-
16
11
  import matplotlib.pyplot as plt
17
-
18
12
  import scipy.fftpack as sfft
19
-
20
13
  import matplotlib.mlab as mlab
21
-
22
14
  import cis
23
-
24
15
  import random
16
+ #import re
25
17
 
26
- import re
27
-
28
18
  print("Input string")
29
-
30
19
  b = input()
31
-
32
20
  a = []
33
-
34
21
  b = []
35
-
36
22
  fs=44100
37
-
38
23
  t=np.arange(0,0.1,1/fs)
39
24
 
25
+ #低域の音信号を代わりに、乱数列を代用
40
26
  r=np.array( [random.random() for i in range(4410)])
41
-
42
27
  r=(r-0.5)/30
43
-
28
+ #19行目から32行目において、入力した文字列の二進変換処理。
29
+ #二進変換した後のデータが多次元配列としてaに格納される。
30
+ #rangeは引数に指定した開始数から終了数までの
31
+ #連続した数値を要素として持つ range 型のオブジェクトを作成します。
32
+ #lenは引数に指定したオブジェクトの長さの取得
33
+ #ordは文字をunicode値に変換する関数
34
+ #tmp一時ファイルの作成
35
+ #bin引数に指定した整数を2進数
44
36
  for i in range(len(b)):
45
-
46
37
  s ="00000000"+ bin(ord(b[i]))[2:]
47
-
48
38
  s = s[-8:]
49
-
50
39
  print(b[i]+":"+s)
51
-
52
40
  tmp=[]
53
-
54
41
  for j in range(8):
55
-
56
- tmp.append(int(s[j]))
42
+ tmp.append(int(s[j]))
57
-
58
43
  p=0
59
-
60
44
  for j in range(1,8):
61
-
62
45
  p=p^tmp[j]
63
-
64
46
  tmp[0]=p
65
-
66
47
  a.append(tmp)
67
-
68
48
  a = np.array(a)
69
49
 
50
+ ```
70
51
 
52
+
71
53
  ### 試したこと
72
54
 
73
55
  for文のところで何かおかしなことをしてると思ってa.appendの部分をいじったりしたのですが直せませんでした